$route.hash 的客户端 URL 重定向错误

时间:2021-03-27 17:41:44

标签: vue.js security vue-router websecurity

GitHub 代码扫描开始抱怨我的旧 Vue 代码有安全警报。我确实理解它的目的 - 攻击者可以创建一个恶意的 URI 来做一些令人讨厌的事情。

<块引用>

基于未经验证的用户输入的客户端 URL 重定向可能会导致 重定向到恶意网站。 CWE-79 CWE-116 CWE-601

它不喜欢下面的代码,这是一种在 Vue 中向下滚动到指定锚点的解决方法:

  mounted() {
    const { hash } = this.$route;
    if (this.$route.hash) {
      setTimeout(() => {
        window.location.href = hash;
      }, 1000);
    }
  },

首先 - 它真的未经验证吗?它由Vue-router处理。第二个 - 我可以用这个警报做些什么吗?我正在考虑忽略它。坏主意?

1 个答案:

答案 0 :(得分:1)

如果您只需要跳转到一个锚点,则不需要该解决方法。将 Vue Router 的 scroll behavior 配置为自动滚动到 Full 元素也可以解决 GitHub 警告:

hash

demo