您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 服务器端脚本编程 > PHP专辑 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

一个完整、安全的用户登录系统
2001-04-11· ·QQ新人类编译··yesky

1 2 3  下一页


  在使用PHP编程的时候,我有一个习惯,不太喜欢使用现成的库文件,例如PHPLib或者其它类似的库,在这个系统中,我也打算自己写一个库文件,它需要处理认证、确认email,更新帐号(密码,email)等事情。
为了在保证该系统安全的同时,不会加重我现有数据库的负担。因此这个新的系统要依赖cookies。这确实是一个两难的选择,因为如果只是设置一个用户名的cookie,是很不安全的,这行不通,但从数据库的负担考虑,我也不能加入一个简单的无序码而交由我的数据库来进行验证。

  解决的方法是同时设置两个cookie,一个是用户名的cookie,一个是无序码的cookie。这个无序码实际上是由用户名和一个超级密码(只有程序设计者知道)组合通过md5()函数运算产生的。由于md5()是一个单向的无序码,因此是不可以破解的。在用户更改email时,我也可以用该email和超级密码产生一个无序码,以让用户确认修改。这实际上是一个公匙/私匙类的系统。不明白?不要紧,下面再慢慢说明。

  有趣的是,这个系统的扩展能力是可以达到无穷的,因为该系统的主要工作是计算md5()函数的值,而且由web服务器完成,在负载增加时,可以加入其它的服务器来分担负载,虽然认证系统不会拖跨一个数据库,但是这样做就让最终的瓶颈只能出现在数据库上。

1 2 3  下一页

■ 相关内容
 创建移动Web应用程序
 Java多线程程序设计初步
 WAP手机上的问卷调查系统的构建
 用VB6分离出文本框的单词
 浅谈Socket编程及Java实现
 如何在PHP中使用Oracle数据库
 使用JavaBean创建您的网上日历本
 多php服务器实现多session并发运行
 论坛、聊天室中滤除HTML标记
 Cookie简介及JSP处理Cookie的方法
 自己动手网络直播
 如何设计一个成功的网站
 作 PHOTOSHOP 6.0 的半个主人(4)
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!