Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载带有任意(更改)脚本名称的Java脚本_Javascript_Security - Fatal编程技术网

Javascript 加载带有任意(更改)脚本名称的Java脚本

Javascript 加载带有任意(更改)脚本名称的Java脚本,javascript,security,Javascript,Security,“像Facebook这样的网站使用动态更改的名称加载javascript文件,这会阻止它以前缓存javascript文件,因此无法进行此攻击。” 你可以多读一些关于这个攻击向量的文章。< /P> 加载具有更改名称的JS文件可以降低缓存中毒的风险,因为第三方无法预测要拦截哪些JS文件 如果您知道如何在页面加载时动态更改JS文件的名称,或者可以链接到相关信息,我将不胜感激。这些知识对任何人都是有价值的 为每个用户生成唯一的脚本密钥。(将密钥存储在用户表中,或仅使用密钥哈希) 更改标记以引用包含键和脚

“像Facebook这样的网站使用动态更改的名称加载javascript文件,这会阻止它以前缓存javascript文件,因此无法进行此攻击。”

<>你可以多读一些关于这个攻击向量的文章。< /P> 加载具有更改名称的JS文件可以降低缓存中毒的风险,因为第三方无法预测要拦截哪些JS文件

如果您知道如何在页面加载时动态更改JS文件的名称,或者可以链接到相关信息,我将不胜感激。这些知识对任何人都是有价值的

  • 为每个用户生成唯一的脚本密钥。(将密钥存储在用户表中,或仅使用密钥哈希)

  • 更改
    标记以引用包含键和脚本名称的特殊服务器端处理程序。(您可以使用路由引擎使URL更漂亮

  • 在服务器端代码中,检查密钥是否与当前登录的用户匹配。
    如果密钥不存在或不匹配,则返回404。(并记录安全审查请求)


  • 这在CDN或静态内容域中不起作用。

    这只是一个简单的缓存破坏代码,不是吗?向文件URL添加单独的时间戳。