>  기사  >  백엔드 개발  >  mysql - 关于php做个人空间

mysql - 关于php做个人空间

WBOY
WBOY원래의
2016-06-06 20:32:171083검색

做个人空间相应的权限怎么解决,自己访问自己的博客可以修改资料等等,但是别人访问就只能查看。新手求各位大神给个思路或者解决办法。

回复内容:

做个人空间相应的权限怎么解决,自己访问自己的博客可以修改资料等等,但是别人访问就只能查看。新手求各位大神给个思路或者解决办法。

你只需要区别访问者是 【你自己】 还是 【别人】。
那么最流行的就是使用“密码登录”了,你的个人空间就是只有一个用户的segmentfault,其他人都是游客

参考

PHP验证登录用户名和密码

我觉得可以在数据库中建立管理员表来设置管理员账号和密码,在用户登录验证界面中判定登录的账号是不是管理员账号,如果是,则进入管理员页面,可以对资料进行修改删除等操作,如果不是,则进入用户页面,没有相应的操作权限。

<code>$salt = sha1(uniqid(mt_rand(), true)); //用户盐
$pwd_db = sha1($salt.sha1($pwd_user)); //数据库保存的密码
$pwd_cookie = sha1($global_salt.sha1($pwd_db)); //cookie里保存的密码哈希,$global_salt是全局盐,可以在配置config.php里自定义.
$value = base64_encode($user_id.'|'.$pwd_cookie); //组合用户ID和密码
setcookie($cookie_name, $value); //设置cookie
</code>

比如用户访问 http://segmentfault.com/user/settings 时:
从用户发送过来的cookie中取出$user_id,找到$pwd_db,做$pwd_cookie运算,然后跟cookie里的$pwd_cookie比对,一致则通过验证.
然后就读取$user_id的用户的信息并在/user/settings(个人空间)里显示出来供用户修改.
个人空间的实现原理其实就是验证身份后显示对应身份的内容.

这样子你就是相当于后台的管理员了,只要创建你自己一个账户不就行了?

很简单其实,你在浏览器设置一个永久cookie,只有有这个cookie的人才能拥有最高权限

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.