【问题标题】:How safe is redirect via javascript?通过 javascript 重定向的安全性如何?
【发布时间】:2014-03-27 20:35:30
【问题描述】:

我已经开发了一个 Rails 应用程序,现在我正在尝试提高它的安全性。上面有一些 ajax,由于我对 jQuery 和其中一个 ajax 请求没有太多经验,我必须通过 javascript 重定向用户,这是一个好习惯吗?我想知道下面的实现是否安全,以及我的应用可能遭受的风险是什么:

success: function(callback) {
  if (callback.status == true) {
    if (event.target.id == 'radar_occurrences')
      window.location.href = '/radar/all'
    else
      window.location.href = '/radar/list'
    }
  else {
    $("body").before("<p class='error'>Failure message.</p>");
    flashError();
  }
}

谢谢!

【问题讨论】:

  • “安全”从什么角度? stackoverflow.com/a/506004/251311
  • 安全程度不亚于允许他们在浏览器中保留导航栏。
  • zerkms,我想知道window.location.href 是否会对应用程序造成危险。我使用redirect_to 来重定向用户,这是一个Rails 函数。但在这种情况下,我必须使用 javascript 重定向。我只是不知道这是否会暴露安全问题,或者您是否推荐任何其他方式来做到这一点。
  • @hugalves:您的问题看起来像:此代码是否不安全:var a = 1;?您不接受任何用户输入。代码中的所有内容都是硬编码的。如果你没有办法影响它,它怎么会容易受到任何影响?
  • @zerkms,正如我所说,我没有应用安全方面的经验。所以,我认为这可能是不安全的。很高兴知道它不是..

标签: jquery ajax security xss


【解决方案1】:

重定向的一个常见安全问题是“open redirects”,基本上攻击者可以利用您页面中的漏洞将用户重定向到他/她选择的其他网站。在您的特定情况下,您似乎没有使用任何用户提供的参数来定义重定向的目标 URL,因此您应该免受这种攻击。

【讨论】:

    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    相关资源
    最近更新 更多