...because it violates the following Content Security Policy...

在项目中,移动端安卓手机点击登录页面的图片,它居然放大全屏了,后来是因为没有在img标签中加上js方法return false阻挡(当然用css的背景图方式也是可以)。
解决方式我居然直接用了js的onclick方法

onclick="return false;"

问题就来了,导致报错。报错信息如下:
Refused to execute inline event handler because it violates the following Content Security Policy directive: “script-src ‘self’ ‘unsafe-eval’ data: *.qq.com *.myqcloud.com *.53kf.com”. Either the ‘unsafe-inline’ keyword, a hash (‘sha256-…’), or a nonce (‘nonce-…’) is required to enable inline execution.

这个报错,很明显只是一个类似警告的报错,不会影响页面的展示和功能,主要就是违背了 Content Security Policy 。

参考文献:
1、https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
2、http://www.ruanyifeng.com/blog/2016/09/csp.html
3、https://blog.csdn.net/weixin_33698043/article/details/85981702

很明显,这是一个点击报错事件,我们可以直接在点击的时候去解决,将onclick事件中方法用一个函数封装一下,在js层面进行js的判断等,而不是在html层面进行。因为,html层面需要防范xss的攻击。

比如我的项目是vue的,那么就将onclick换成@click并且return false 在js中体现即可。

总得来说,Content Security Policy 内容安全策略 (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。

我们为了让网站更加的安全,可以设置一下default-src (相当于加网站链接白名单)、img-src(图片引入白名单)等等,保障网站的网络安全。

你可能感兴趣的:(web,javascript,html)