我正在构建用户名/密码/会话管理/等。我一直在努力的网站系统。我整天都在阅读关于这个主题的各种文章,并且比以前更清楚地知道我现在需要做什么。我或多或少地设置在服务器端,只需要编写我学到的东西。但是,我自己无法弄清楚的一件事是如何从客户端最好地从服务器获取敏感信息(用户名/密码)。
我打算在我网站的前端有一个登录/注册页面(所以当你去mysite.com时,你只会看到一个表格或那种性质的东西),然后在你之后注册或登录,您将获得实际的webapp服务。将登录信息发送到服务器的常见做法是什么?用户名/密码组合是否已经散列,然后作为cookie发送到数据包的标头中?或者它可以作为JSON直接发送(如果使用javascript)?我想我真的不知道规范是什么,并且无论如何都无法在google或stackoverflow上找到任何真正有用的信息,因此这个问题。
如果你们有关于网站登录系统的任何其他有用信息,我很想知道你要说些什么,再说一遍,这对我来说是全新的。
此外,相关的问题,一旦我有这个工作,是否标准只是在用户的计算机上有一个cookie来识别它们,这样他们每次访问时都不必登录?那就是检查“让我登录!”盒子在所有这些网站上都有吗?
最好,谢谢
答案 0 :(得分:1)
您最好的选择是至少在您的登录页面使用HTTPS。您必须向第三方证书颁发机构支付使用官方证书或使用您生成的证书,但这会导致您的用户从其浏览器中遇到各种可怕的警告。
使用HTTPS(使用SSL / TLS保护的HTTP)加密网站和客户端之间的所有流量,为您提供传输安全性。
滚动自己的安全计划非常难以做好。您在问题中描述的过程很容易被破解,因为您必须在客户端进行散列处理。即使是偶然的黑客,这个过程也很容易进行逆向工程。
你的后续问题的答案是肯定的。这是饼干。
答案 1 :(得分:1)
我建议阅读StackOverflow自己的Definitive Guide To Forms based Website Authentication。答案详细介绍了处理用户登录的一些最佳实践,并且很可能会回答很多关于用户身份验证的问题。