当前位置:Gxlcms > PHP教程 > mysql-关于php做个人空间

mysql-关于php做个人空间

时间:2021-07-01 10:21:17 帮助过:18人阅读

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

回复内容:

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

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

参考

PHP验证登录用户名和密码

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

$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

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

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

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

人气教程排行