我的网站托管商如何阻止页面上的JavaScript运行?

时间:2019-01-03 05:36:27

标签: javascript webserver

这是我的页面,带有一个小的JavaScript警报语句。但它不会运行。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>alert("hei");</script>
Running JS alert
</body>
</html>

As link

3 个答案:

答案 0 :(得分:0)

如果您检查控制台,则会发现以下内容:

  

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“ script-src https://statics.itslearning.com https://cdn.itslearning.com https://eu1statics.itslearning.com https://us1statics.itslearning.com”。要启用内联执行,要么使用关键字(unsafe-inline),要么使用哈希(sha256-lGrjoiPwYPWwQzxw5c0TicyWiXm0QDxMURqig0RQtv4 ='),或者使用随机数(nonce)('nonce -...')。

您的托管服务将Content Security Policy设置为仅运行链接到以下URL的脚本标记中的脚本:

https://statics.itslearning.com
https://cdn.itslearning.com
https://eu1statics.itslearning.com
https://us1statics.itslearning.com

您需要删除嵌入式脚本并将其移动到这些页面链接的文件中。

答案 1 :(得分:-1)

因为itslearning.com上的安全设置不允许内联脚本。只需为您的js创建一个单独的文件,然后将其包含到HTML中即可。

答案 2 :(得分:-1)

替换

<script>alert("hei");</script>

使用

<button onclick="alert('i am script')">click me</button>

由于某些限制,内联js被阻塞了。有关更多详细信息,请访问https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution