感觉PHP查询mysql帐号、密码匹配挺简单的,
但如果我一个目录下,有很多网页,如何能设置不同帐号的访问权限? 1.php 2.php 3.php
是否通过SESSION把帐号、密码一步步传递,在mysql里面设置查询、写入权限?
补充问题:
一、帐号和密码放在session 是否只对PHP连接mysql的起作用?
即使不登陆也能看到很多页面信息?
二、仅仅mysql权限就行?
需不需要设置IIS权限?
只设置IIS就能实现功能,是不是就没必要用PHP登录?
首先数据库里不能存名文密码,一般用md5加密,这样最起码做到基本数据的安全。
其次,一般我们最多把用户id,姓名,身份 这几个数据放到session中。密码是不会放到session里面的。
我们的每一个单独的项目,比如说一个微博,一个学生成绩管理网,都需要登陆的。如果你的服务器目录里有这两个项目,那要注意的是 session【‘’】里面的键名最好不要重复。否则会让你两个程序有session混乱,就是我登陆了微博网站,建立了名[‘id’]这个session,而另一个网站也有一个叫id的session,这样就会导致学生成绩管理网不需要登陆也可以进入。一般正式服务器就放一个项目,可是我们自己在做项目的时候才会有这种问题。追问
session 里没有密码?那后面php怎么连接mysql的呢?
追答用户输入用户名和密码
你把这两个变量(密码要经过md5转换),和数据库比对(这个方法很多很多,只要合理就行)
比对之后确定账户合法,
建立一个session,存入id,name,身份(这个可以没有,权限的控制方法很多)和状态。
之后的所有页面,只需要验证session就可以了。只要session存在,就可以继续正常的使用网页。
我也不太明白 php连接接mysql 和session有什么关系。
哦 好高级的感觉 我不需要那么安全啊
php连接mysql 读取或插入数据库啊
需要帐号,密码
连接mysql的帐号,密码跟 网页登录用的帐号,密码,不是一回事?
比如
我对mysql的a用户进行了权限设置,网页登录也是a用户?
我倒是不太明白了,我们开发的时候链接数据库的密码就一个,甚至很多开发的时候数据库都没有密码,因为就我们自己在用。
登陆网站是网站本身账户和密码,只是存在数据库里了。
链接数据库的时候,mysql_connet()把密码写在里面就不需要动了,基本上一个页面写一遍这个就够了……框架的话,只要写入配置文件也基本上不需要修改了。
你的数据库链接等等,作文源文件,一般用户是绝对看不见的,这点放心。
你要相信session的强大,只要这个用户登陆了,session创建成功,那这个用户除去意外就是这个他。只用他在关闭网页session才会被注销。
嗯 我觉得你说的很对
但是既然mysql里面保存了帐号、密码,肯定可以根据不同帐号,对数据详细的权限管理,
在每个页面做session判断,这个仅仅靠session做不来吧,
我觉得权限设置都在数据库里面。
嗯,至于网站的权限,比如成绩查看,成绩修改这两种完全不同权限的页面,就要根据数据库字段来判断了,你可以单独设置一张表来保存权限,至于具体怎么设计的表,看网站的复杂度。
这里有一个例子,这就是权限列表,第三个字段是可操作的页面,第四个字段是可操作的页面中的具体功能。不过你刚一开始不需要那么复杂。可以只判断页面的操作权限。
复杂点的,建个role表 note表,关联一下 就行了