为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 HTML/EJS 文件运行外部 javascript

无法从 HTML/EJS 文件运行外部 javascript

SMILET 2023-09-28 16:49:05
  我正在尝试在 HTML/EJS 页面内的外部文件中运行 javascript。代码如下:<body onload="initialize()">//HTML content  <script src="/public/js/gallery.js"</script></body>“initialize()”函数位于“gallery.js”文件中。问题是我不断收到一个错误,内容如下:“拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self'”。“unsafe-inline”关键字、哈希值 ('sha256-tPMkUWbNPBXQQ3rlbFhILb35szR89eQb3Z41bzLr+wQ=') 或随机数需要 ('nonce-...') 才能启用内联执行。”我在页面上的“head”标签中尝试了许多尝试修复。其中包括“<meta Content-Security-Policy: script-src 'self' 'unsafe-inline'">”、“Content-Security-Policy: script-src 'self'”和“meta http-equiv=”content -安全策略内容=脚本-src“...这太令人抓狂了......我花了几个小时试图纠正这个问题。有人可以解释一下问题是什么吗......???我提前谢谢你。问候。“gallery.js”文件内容如下:addEventListener("load", initialize);function initialize() {//do stuff  }
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

通过禁用禁止内联脚本的 CSP 规则来解决此问题并不是一个好主意。内联脚本是 XSS 攻击的主要载体。

相反,删除内联脚本并将等效功能放入.js文件本身中。

onload="initialize()"从 HTML 中删除。

添加addEventListener("load", initialize)到 JS 中。


查看完整回答
反对 回复 2023-09-28
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信