Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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
阻止css中的javascript执行_Javascript_Css_Internet Explorer_Internet Explorer 7_Xss - Fatal编程技术网

阻止css中的javascript执行

阻止css中的javascript执行,javascript,css,internet-explorer,internet-explorer-7,xss,Javascript,Css,Internet Explorer,Internet Explorer 7,Xss,当在IE7 emulator中的一个流行网站上添加下面的样式属性时,什么也没有发生,但是当我在IE7 emulator中的一个普通网站上执行它时,它确实会被执行 <body style="width: expression(alert())"> 如何防止表达式被执行?您所说的功能已被调用,并且从IE8开始不再受支持 Internet Explorer 8及更高版本、IE8标准模式及更高版本不再支持动态属性(也称为“CSS表达式”)。做出此决定是出于标准遵从性、浏览器性能和安全原

当在IE7 emulator中的一个流行网站上添加下面的样式属性时,什么也没有发生,但是当我在IE7 emulator中的一个普通网站上执行它时,它确实会被执行

<body style="width: expression(alert())">


如何防止表达式被执行?

您所说的功能已被调用,并且从IE8开始不再受支持

Internet Explorer 8及更高版本、IE8标准模式及更高版本不再支持动态属性(也称为“CSS表达式”)。做出此决定是出于标准遵从性、浏览器性能和安全原因。Internet Explorer 8中的动态属性在IE7模式或IE5模式下仍然可用。(有关文档兼容性模式的更多信息,请参阅定义文档兼容性。)由于IE8模式下的Internet Explorer 8完全符合级联样式表,第2版第1版(CSS2.1)标准,因此大多数动态属性都是围绕级联样式表(CSS)编写的-不再需要以前版本的Internet Explorer中的相关缺陷。其他具有更具体用途的动态属性通常可以用标准JavaScript替换


在现代浏览器中,为了防止JavaScript被注入到意想不到的地方,可以使用。例如,CSP的
scriptsrc:none
将拒绝页面中的所有JavaScript执行,无论它来自何处。更细微的策略可以设计为只允许特定URI的JavaScript,或只允许具有特定哈希的脚本。

您是在问如何防止在IE 7中执行,还是如何防止它在仍然受支持的浏览器中执行?从microsoft的角度看,ie7早已过时。这真的是XSS问题吗?您是否允许您网站的用户编辑其样式?@user3553031我还想知道,对于目前受支持的浏览器,可以采取哪些安全措施@/丹妮拉,怀特,问题的解决比问题本身更重要@/nnnnnn我永远不会让用户这样做,但我想知道应该添加什么,这样如果有人这样做了,我们就安全了。那么这如何回答IE7中关于它如何工作或如何防止它的问题?我知道它不受支持和反对,我想知道他们5年前是如何修复的。因为在IE9之前HTC仍然存在这种问题,这对XSS是有好处的,但这里的恶意代码来自“self”。但这是一个很好的资源,谢谢!您可以拒绝从
self
执行JavaScript,或者只允许使用已知哈希的脚本;一般来说,这是防止XSS的良好做法。这不会阻止执行
HTC
expression
,因为它只能从IE11开始工作。但我同意这是一个很好的第一级防御!当您拒绝从
self
执行Javascript时,您的Javascript代码会被执行吗?还是JSF应用程序的
self
选项会被执行?