
任务:用php+mysql做一个web technical document manager功能:
1.用户机制,允许用户登陆,注册。
2.用户可以在线编辑,再存入数据库中。
3.查找a.对每个文件用户设定关键字,用关键字查询b.分类索引心得:数据库最重要的因素是安全。要保证只有注册用户才有权修改,发表文章,一般访客只能查询。
可以有两种方法进行用户认证:(1) 使用cookie,cookie的确是好东西,能够很方便在网页之间进行变量的传递(这很重要)。具体实现:1.在用户登录后的第一个页面设置cookie setcookie(" $hero", $name,……)
setcookie(" $pass", $pass……)
2.在以后的页面中需要用到用户名,密码的地方只要调用 $hero, $pass,就能把用户登录时的用户名,密码传递过来,下一步就是通过用户名,密码,在数据库中寻找资料。
但使用这种方法有缺陷:如果用户不打开cookie,就无法使用!
(2)第二种方法比较安全,没有限制(我现在使用的)
在用户登陆时,在对应的数据库表项中产生一个tempid,tempid的变量是当时用户登陆时的时间如(2000-9-7-10-05-45)实现如下:在用户登陆后的首页,根据用户名,密码在数据库中找到对应的表项,然后,用php的时间函数获得时间变量 $time=date();把时间变量插到表列中,应该用update语句,下一次登陆时可以刷新。
设定 $id=tempid(登陆时间)。
在页面之间使用<a href="edit.php?id=<? echo " $id" ?>"></a>传递变量 $id .在需要用到变量的地方,根据 $id去数据库中找到用户名,密码,进行认证。
因为tempid可以精确的秒,所以安全。就算同一秒中同时有两个人登陆,还要在数据库中进行用户名,密码验证。所以安全!