2015-01-20 129 views
0

我想密码保护一个网页。我想知道是否有人会批评我的方法。密码保护网页

匿名用户会转到页面,模态会打开,要求用户输入密码。我当然不会在后面显示任何内容,以防有人决定要聪明并显示:无;模态。

一旦用户输入密码,我会重定向并保存一个随机生成的令牌作为cookie并检查,以便用户不必输入密码。

想知道除了个人物理访问计算机以外是否还有任何安全问题,以及是否会有任何改进。

我知道我对某些细节还是有点含糊,所以让我知道是否有什么重要的东西我会在确切的实现方面抛出。

回答

0

这是一个可怕的想法。作为cookie的密码将在每个HTTP请求中以明文形式传输。有很多如何正确执行此操作的示例。我不打算详细说明,因为这个问题很可能会被标记出来。切勿在任何地方保存密码。提交的密码首先要计算一个哈希值。散列成为密码。

+0

不是将密码作为cookie,我会将令牌保存为cookie。 – John 2015-01-20 23:17:25

+0

一个随机生成的令牌,其长度足以存储在db/redis中。 – John 2015-01-20 23:18:31

+1

我必须从“没有安全系统这样的事情,只有不安全的程度。”。你的方法可行,你正在实现类似于会话令牌的东西?我想你会在会话(存储服务器端)上放置一个到期日期,并将会话链接到用户的IP。这样,如果我偷走了令牌,我将不得不欺骗用户的IP来使用它。 – 2015-01-20 23:44:30

1

尽管您描述的内容可能会起作用,但一般来说,实现自己的安全性并不是一个好主意。即使您使用https来阻止令牌的嗅探,有人可能会发现您的随机数并不是真正的随机数,并且能够猜出下一个数字。

您最好使用构建应用程序的框架附带的安全功能之一。大多数框架都支持基于表单的身份验证。它甚至可以支持使用安全令牌的基于声明的身份验证。

因为你没有提及你使用的是什么框架,所以我不能推荐任何东西。

+0

我实际上已经有一个完整的用户认证系统。我希望允许用户创建一个受密码保护的页面。 – John 2015-01-21 19:41:26

+0

我正在使用golang。 – John 2015-01-21 19:42:45

+0

原来的问题并不清楚。你是否试图让用户像创建wiki一样创建网页?我不熟悉Golang。 – MvdD 2015-01-21 21:51:49