【发布时间】:2012-10-28 19:17:56
【问题描述】:
我正在使用 PHP 编写数据库接口。数据库的功能之一是允许会员在线登录和注册活动。我想创建一个 php 文件,该文件将创建一个用户可以订阅的动态日历文件。 www.hostname.net/my_calendar.php?memid=123 的效果。然后,该文件将搜索数据库以查找成员 123 已注册的事件,并即时创建日历文件。我担心为此目的使用会员的身份证号码的安全性。是否有一种以合理的安全性来完成此任务的好方法,或者这里可能存在我没有考虑的安全问题。
【问题讨论】:
-
你想要保护什么?成员 ID 是否容易被猜到(例如序列号)还是成员 ID 是由加密的强随机数生成器生成的?
-
这是一个好问题,老实说,我不确定我是否有一个好的答案。我不在乎是否有人可以看到我注册的活动,但其他人可能会。会员 ID 是一个唯一的随机生成的 6 位数字。
-
直到你知道你在保护什么,你才能说什么是安全的或不安全的。我会首先尝试保持私密,无论合理的用户会认为是私密的。如果你有一个足够大的随机数,那么攻击者必须做很多工作才能找到有效的 ID,这样你就可以依靠随机性来防止猜测,但是 6 个十进制数字还不够大。