2011-11-13 54 views
0

因此,我一直在努力以一种简单易用的方式让用户访问私人页面而不要求他们填写登录名/密码表单。无需登录即可访问私人页面

我现在想使用的是为每个私人页面生成uniqueid(使用php uniqid函数),然后将URI发送给用户。他会以“www.mywebsite.com/private_page/13ffa2c4a”访问他的私人页面。我认为这是相对安全和用户友好的,而不要求太多的信息。我想也许当用户访问这个页面时,它会要求确认它的电子邮件,但最好的是没有任何意义。

这真的很安全吗?我的意思是没有网络银行安全,但足以进行简单访问?你认为有更好的解决方案吗?谢谢。 :)

+0

“安全通过默默无闻”是_永远不是一个好主意(因为它的_任何一种安全)。它非常容易通过暴力破解找到有效页面。 – KingCrunch

+0

但是,我可以再次向用户发送代码,并告诉他在我的网站上输入该代码。难道它不是一回事吗?这就是现在一些网站所做的事情,不是吗?我的意思是,难道没有办法像我们使用密码一样避免暴力破解吗? – dccarmo

+0

我想如果你想让这些页面真正成为私人的,那么你需要请求某种认证。正如KingCrunch所说的那样,这仅仅是一种默默无闻的“安全”,并不实际。另外,如果您想要询问用户代码或电子邮件地址,那么为什么不使用登录表单?假设将会收到这些URL的用户在您的网站上注册。 –

回答

1

如果您的网站是数据驱动的,您可以创建一个独特的关键词,并将其传递给用户。当用户回来时,他们会碰到一个数据绑定模板页面,该页面将会去查找该键值,如果找到了键值,则将页面元素重新赋值给它们。一旦使用了该密钥,您就可以将其禁用或将其从系统中删除,以便模板页面无法重新呈现相同的数据两次,因为它无法再找到该密钥。您可能还想确保不会缓存该页面或将任何内容放入会话中(尽可能少地公开)。

这不是一个很好的解决方案,但也许能够与强迫某人登录到某物一起工作。

祝你好运,并希望这有助于一些。

+0

这实际上是一个好主意!我会研究它,谢谢! :) – dccarmo

1

这根本不安全。如果你创建了一个密码字段,你仍然可以强制它(如果你没有在认证过程中实现延迟),但至少它的值不会被存储在浏览器历史记录中。

+0

是的,你说得对。我忘了那个副作用(浏览器历史)。 – dccarmo