【问题标题】:Security Concerns with window.location.hrefwindow.location.href 的安全问题
【发布时间】:2012-10-06 05:12:48
【问题描述】:

阅读有关 URL 重定向的 Wikipedia 文章后,我想知道 window.location.href="page.php" 是否是网页重定向的最佳选择。维基百科文章建议

但是,出于安全原因,可能首选 HTTP 标头或刷新元标记,因为 JavaScript 不会被某些浏览器和许多网络爬虫执行。

我有什么需要担心的吗?如果出现问题,使用 javascipt 有哪些替代方案? window.location.href 在用户登录时被激活。

【问题讨论】:

标签: javascript html security http-headers


【解决方案1】:

您的目标应该是让您的登录页面无需 JavaScript 即可正常工作,以使其更易于从任何设备访问;您可以通过进行客户端检查来使 JavaScript 的用户体验更好,但无论如何都必须在服务器上进行。以这种方式进行优雅降级是很常见的,允许最小的公分母。

话虽如此,如果您已经在使用 JavaScript 进行登录,那么它显然已启用,因此重定向根本不成问题。如果没有具体的参考资料,我将无法说出那篇文章所讨论的安全问题。

【讨论】:

  • 我正在使用 jQuery ajax 来检查用户名、密码、安全性等,所以取出 JS 是不行的。谢谢你的帮助。如果一两天内没有人回复,我会给你答案。
  • @jason328 检查也应该在服务器端进行。而且我并不是说要去掉 JavaScript,只是说你应该考虑在不依赖 JavaScript 的情况下执行登录,即优雅降级。
  • 我很好奇,我如何确定什么时候不使用 JS?我会假设(无论对错)几乎所有用户都拥有并使用 JS。
  • @jason328 同样,我并不是说你不应该使用 JavaScript;我是说你应该用它来增强体验,而不是让它依赖于 JavaScript。当然,除非没有它,网站的其余部分完全没用:)
  • 感谢您的澄清。我想在这方面依赖 AJAX 削弱了我的网站。我会考虑的。
【解决方案2】:

仅当您从用户输入中获取要重定向到的页面值时,这种重定向方式才具有安全隐患。如果是硬编码,没问题。

【讨论】:

    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 2012-07-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多