2012-03-04 71 views
0

大家好我是Yii框架中的新成员,首先我要做的就是创建用户注册/登录系统。我真的希望我的系统安全,但我发现使用Cookie并不是最安全的方法。所以我有一些有趣的建议,请记住,我不是专业的PHP程序员,所以这个建议可以包含一些错误,但我认为我们会解决它们。Yii使用数据库而不是cookies

据我了解,当有人访问Yii网站时,首先Yii试图获取cookie并检查它是否已经登录。那么为什么我们不能使用数据库而不是cookie?我的意思是,我们可以在这个数据库中的字段:

ip 
remember_me 
latest_visit 

那么,为什么我们不能让Yii的检查数据库,而不是饼干?我的意思是让Yii检查来自数据库的guest ip == ip和remember_me == true,并且latest_visit不在7天之前。所以,而不是使用这种方法的cookie验证会更好。之后让Yii在cookie验证之后做任何事情。

我们将实现的是记住我的方法为不启用cookie的浏览器,避免cookie被窃取并使用户登录系统更安全,因为每个数据都将存储在服务器端,而客户端不会存储任何内容。

那么如何做到这一点?你怎么看?如何让Yii做任务?

回答

3

IP地址不能可靠地识别东西;在网络中可能会有NAT(网络地址转换),因此多台机器似乎来自同一个地址,更不用说DHCP租约到期了,以及不同人使用单台机器的可能性(孩子们使用爸爸的机器?)等等。 。因此,根据所提供的信息,您甚至可以证明浏览器之前甚至访问过您的网站。当然,有些人从一台机器上使用多个浏览器(比如Firefox,Chrome,Safari);其中一个饼干可能不会被其他人使用。

你的建议是令人悲伤的不安全。请不要尝试它用于生产使用。

+0

ok谢谢你的建议,看来我错了。感谢您解释这些问题。 – Irakli 2012-03-04 15:25:24