Home  >  Article  >  Backend Development  >  mysql - 关于php做个人空间

mysql - 关于php做个人空间

WBOY
WBOYOriginal
2016-06-06 20:32:171084browse

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

回复内容:

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

你只需要区别访问者是 【你自己】 还是 【别人】。
那么最流行的就是使用“密码登录”了,你的个人空间就是只有一个用户的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的人才能拥有最高权限

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn