最近做一个项目(具体内容就不说了),其中就用到了JavaScript脚本语言中的Range对象来帮我处理一个文本特效。而且要求在IF和FF下都能显示。我在CSDN论坛上发帖,有网友给我说过一个方法createTextRange() 后来我用搜了好多相关资料。还有一个文本高亮显示的例子,现在只记得文本内容是:三个小和尚挑水吃...。我看里面的那段JS代码有我可以借鉴的地方,于是我拿过来无意中改动了一下,打开后。CPU、内存高涨,iexplore.exe进程无响应。这时我又想起网上有篇报道就是关于《Mozilla Firefox Range脚本拒绝服务漏洞》的文章,讲的也是这个Range漏洞。文章地址:http://www.enet.com.cn/article/2006/1101/A20061101279837.shtml 这个貌似和上文的描述差不多。
有懂得这方面的高手还请指教。
受影响的IE浏览器版本(别的版本没测试):
IE6.0/7.0
漏洞产生的代码:
function findstring()
{
if(document.createRange)
{
var range = document.createRange();
}
else
{
var range = document.body.createTextRange();
}
if(range.findText)
{
while(range.findText("思想"))
{
range.select();
}
}
}
人家那篇报道夹着分析,咱水品有限,而且也不是专业搞JS的。我只知道一点JS的皮毛,哪位高手看到了希望能给解说解说。
O(∩_∩)O哈哈~