Table des matières
回复内容:
Maison développement back-end tutoriel php mysql - 关于php做个人空间

mysql - 关于php做个人空间

Jun 06, 2016 pm 08:32 PM
mysql php

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

回复内容:

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

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

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

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

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Date et heure de CakePHP

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Téléchargement de fichiers CakePHP

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Configuration du projet CakePHP

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Routage CakePHP

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

Discuter de CakePHP

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

Guide rapide CakePHP

See all articles