首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URL中的HTML和CSS导致404错误(用户代理= Trident/4.0)

URL中的HTML和CSS导致404错误(用户代理= Trident/4.0)
EN

Stack Overflow用户
提问于 2009-10-04 16:35:23
回答 3查看 1.9K关注 0票数 6

我已经得到了一些404的代码片段(CSS,HTML和JavaScript)的网址。

据我所知,用户在他们的会话期间在网站上进展得很好--这是一个电子商务网站,受影响的用户会把东西放进篮子里,然后结账,等等。

在某些页面上,我看到404错误与看似成功的页面显示相邻。每次显示该页面(在该会话中)时,我都会收到相同的404错误。

记录的404错误示例:

代码语言:javascript
复制
404;http://www.example.com/rrepeat: repeat-y;

有问题的页面上只有一个匹配的实例(除了第一个"r"):

代码语言:javascript
复制
<td style="background-image: url(/i/lb_ccccccbrd.gif); background-repeat: repeat-y;">

我检查了包含的CSS文件,没有匹配的(如果有,我可能会在包含CSS文件的所有页面上得到404 )

我的想法是,可能是IE8的PlugIn在用户查看页面时爬行页面以缓存某些内容-或者可能是出于更恶意的目的。页面的用户代理和404 (在会话中)是相同的,不知道PlugIn是否会以不同于浏览器本身的方式显示?

其他示例:

代码语言:javascript
复制
/r/table&gt;&lt;/form&gt;&lt;/td&gt;&lt;td width= 
/r width=

/r alt= 

/rurn pair[1]; --&gt;</SPAN> --&gt;</SPAN>--&gt;</SPAN>function Set_Cookie( name, value, expires, path, domain, secure ) <SPAN style="color:red;font-weight:bold;background-color:yellow;">&lt;!--/ set time, it's in millisecondsvar today = new Date();today.setTime( today.getTime() );/*if the expires variable is set, make the correct expires time, the current script below will set it for x number of days, to make it for hours, delete * 24, for minutes, delete * 60 * 24if ( expires )<SPAN style="color:red;font-weight:bold;background-color:yellow;">&lt;!--expires = expires * 1000 * 60 * 60 * 24;--&gt;</SPAN>*/expires = (3650) * 1000 * 60 * 60 * 24;var expires_date = new Date( today.getTime() + (expires) );document.cookie = name +

所有代码似乎都以不属于代码的"r“开头,然后是直接来自页面代码的代码片段。

该页面通过了HTML验证(所以我不认为它是一个未加掩饰的引号,除非我让某个愚蠢的w3c.org脚本破坏了HTML!!)

用户代理始终是MSIE 8.0或MSIE 7.0和Trident/4.0。(我假设装有三叉树的MSIE7.0在兼容模式下是IE8 )

我每天只看到几个这样的实例(不到10个会话),而我每天收到数百个用户代理的会话,包括IE8和三叉树。

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2009-10-04 16:41:42

在我看来,您正在处理的不是格式错误的爬虫,就是企图进行的XSS攻击。

如果是小规模的攻击,最好的办法就是确保你已经锁定了你的应用程序/站点,这样这样的攻击就不会成功。

注意你的日志。如果像这样的东西在频率上增加和/或改变了它的攻击载体,你最好意识到这种努力的方向,并做出相应的反应。

最后,"IE8/Trident“客户端标识符并没有什么特别之处。它只是简单地说明了客户端说他们正在运行Internet Explorer8,使用的是Trident布局引擎(类似于Safari/WebKit或Mozilla/Gecko)。

票数 1
EN

Stack Overflow用户

发布于 2010-03-16 23:16:50

我也遇到了同样的问题。在Trifort4.0浏览器上,应用程序会突然开始引用奇怪的js脚本。

/js/jqu//%3C![CDATA[var%20Paginator_otherActivities%20=%20new%20Paginator();Paginator_otherActivities.setUrl(;

这不会影响用户体验,因为网站仍然可以正常显示。我设法追踪这个问题,并在我的本地服务器上重新运行它,但仍然发生了同样的错误,这让我认为这不是XSS攻击。

我运行了一些测试,结果发现问题是应用程序试图包含太多的js文件-当我减少这个数量时,问题就不再发生了。

我找不到任何关于它的信息,如果它是由三叉树布局引擎引入的限制,但我记得IE过去对每个页面上可以使用的css类的数量有限制,所以也许这与微软试图智胜所有人有关。

票数 0
EN

Stack Overflow用户

发布于 2011-03-18 00:24:24

(三叉树/4.0是IE 8的标识,即使User-Agent显示IE 7-这是在兼容模式下运行的IE 8。)IE8的Lookahead有一个怪癖,会影响跨越任何4096个字节的url。生成的结果url是紧接在截止点之前的字符串和紧随其后的字符串的串联。它似乎将任何单引号或双引号视为分隔符。如果您使用XHTML,没有实际的方法可以避免IE8用户出现这404个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1516822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档