我有一个网页,让我们说该页面被调用:http://www.mypage.this/
在我的页面中,用户可以创建自己的HTML页面并通过www访问它们。我的页面 。这个/(创建者' s_username)/(project_name)。例如,如果我的用户名是" USR"我的项目名为" PROJECT"然后链接是http://www.mypage.this/USR/PROJECT。
但是存在安全问题......
我将人们的登录令牌存储为Cookie。如果某个用户的脚本具有读取cookie并将其发送给其他人的功能,该怎么办?
他们可以访问其他人的帐户。必须将令牌保存为cookie,因为我需要在多个页面中验证用户。我该怎么做才能阻止用户创建脚本读取令牌,但仍允许我的页面读取令牌?
提前谢谢
*令牌当然每隔一段时间重新生成
为了清除误解,我不会将密码存储在用户方面。我正在存储一个登录cookie - 一个随机生成的字符串,在每次登录时重新生成。我将其存储在用户方面。
答案 0 :(得分:0)
如果您必须在多个页面中验证用户,则应将登录信息存储在会话中,而不是存储在cookie中。这样一切都停留在您的服务器上,只有您可以访问它。
制作Cookie,即使用户断开连接,离开浏览器或其他任何内容,您也可以存储信息。
将登录信息存储在cookie中通常是一个坏主意,因为它不是很安全。
答案 1 :(得分:0)
哦。您真的不希望您的用户能够创建在其他浏览器中运行脚本的页面。这会产生跨站点脚本漏洞的风险(就像您在此处提到的那样)。最安全的做法是首先阻止所有SCRIPT标签。然后可能还有其他东西要阻止。这是值得花时间阅读的内容:
https://en.wikipedia.org/wiki/Cross-site_scripting
https://www.owasp.org/index.php/Top_10_2013-A3-Cross-Site_Scripting_(XSS)