2013-05-02 250 views
0

我有一个慈善小型内部网站,它是员工登录后才能访问文件和罗塔岛。虽然它只适用于某些用户,但它在网上,因此它是公开的,因此我仍在考虑安全性。我需要你的意见,因为我不是很有经验。PHP用户系统安全

我一直保存两个cookie时,第一个用户登录的用户ID和第二一个cookie ID,这样的人不能随便更改用户ID和cookie中的ID需要匹配记录。它与每个页面的数据库进行比较。问题是,Cookie ID只是一个随机数,它不会花费时间让PC在几十万个组合范围内循环查找每个用户的匹配ID。那我该如何阻止呢? PHP的uniqid是否足够好?

我应该考虑哪些其他的攻击从SQL注入(已阻止)

感谢

+1

这看起来像它可能是interrest在你的情况下:http://blog.teamtreehouse.com/how-to-create-totally-secure-cookies – 2013-05-02 11:28:46

回答

0

存储在服务器上的每个会话的客户端IP分开。
如果会话更改客户端IP,那么这就是可疑的。

另一件事是给会话一生。
一样,若无其事的时间任意金额无效的会话。

最后但并非最不重要的,只做存储在会话数据库随机ID和地图,为用户,而不是直接存储用户ID到一个cookie的。

+0

基于最后评论如果一个有效的ID被猜到会发生什么那么有人可以访问用户的帐户。 – AnotherUser 2013-05-02 12:23:43

+0

@AnotherUser不,您仍然将ID与客户端IP相匹配。如果尝试中断来自与正确登录的客户端相同的IP,它只能被盗取。 – 2013-05-03 14:27:51