【发布时间】:2015-01-10 14:05:01
【问题描述】:
我正在构建我的第一个 node.js webapp。我不需要管理用户注册。我只需要一个可以轻松更新某些页面内容的管理页面。
我几乎完成了开发阶段,但我想澄清一些关于安全性的事情。
管理页面:有 2 个安全级别:
1) 管理页面链接到
mywebsite.com/hexadecimal_string。 也许这很愚蠢,但管理页面是"secret"页面。链接mywebsite.com/admin太常见了。你认为使用 十六进制字符串可以被认为是第一级安全吗?2) 当然有一个管理员密码,存储在我的数据库中。如果 密码正确,设置了临时cookie。也许我应该 在发布时加密此密码,但我不打算使用 HTTPS。有没有一种不同的方式,通过使用 https 来发布 密码更安全?
CORS:我不需要 CORS,但有件事让我抓狂:
在主页中,每个人都可以将一些数据发布到服务器(我们正在谈论时事通讯电子邮件和其他个人数据)
假设有人以相同的方式阅读主页的 javascript 代码(特别是 ajax url),他尝试将数据发布到相同的 url,但使用跳过验证阶段的个人脚本。当然,我也对服务器进行了验证,但我不想接受来自我以外的个人脚本的任何请求。服务器应该只响应来自我的 javascripts 的请求,任何人都可以运行访问 www.mywebsite.com。来自不同脚本的所有其他请求都将收到500-server error。
现在,我读到很多人试图允许 CORS。因此,我假设默认情况下禁用了 cors,但我尝试将数据从另一个网站发布到我的网站,并且数据已毫无问题地发送,服务器响应 200。为什么?我可以管理这件事吗?
在我的情况下,为了安全起见,我还需要分析和管理其他常见的事情吗??
【问题讨论】:
标签: javascript ajax node.js security cors