最近遇到个问题,因为一下子请求一个页面,这个页面包含的js文件非常的多,当这个页面请求后会生成一个cookie。这个cookie可以肯定是js生成的,但是我想找到生成这个cookie的js的代码段。不知道有没有办法可行?或者用什么工具也可以。谢谢,其实我把js全部的下载下来了,发现还是没有这个cookie。。但是又敢肯定是js生成的,我把浏览器的执行js禁用的话没有这个cookie。请假高手给点思路了。如何监测js的操作?

解决方案 »

  1.   

    开搜索,所有在搜索目录下的*.js文件里有包含"cookie"这文本的就找出来....
      

  2.   

    你一定敢肯定这个cookie是从前端写的?你是怎么判断这个cookie的?
    如果是的话 那你把那几个js找出来 搜一下cookie关键字  一搜就出来了
    还有 如果你的页面是个中间页面的话 有些js是不在这个页面中加载的 之前页面加载过的也是起作用的
      

  3.   

    恩,我因为js禁用的话这个cookie不出现,不禁用的话就出现,我现在找到具体的代码了,但是不懂什么意思,代码如下:
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
    <body style="margin:0 0 0 0" onload="setTimeout('o()',10);"><INPUT type=hidden style="behavior:url(#default#userdata);" id=oHostId value="ba17d9f78604497a-6fb10414d744e42ca44472b117f423ed">
    <SCRIPT LANGUAGE="JavaScript">
    function verify_DoFSCommand(command, args){if(command == "set_Host"){var d = new Date();d.setTime((new Date()).getTime() + 360000000000);document.cookie="HostID=" + args + ";domain=xici.net;path=/;expires=" + d.toGMTString();try{oHostId.load("xici.net");oHostId.setAttribute("HostID",args);oHostId.save("xici.net");}catch(e){}}}
    function o(){if(document.cookie.indexOf("HostID") == -1){try{oHostId.load("xici.net");if(oHostId.getAttribute("HostID")){oHostId.value=oHostId.getAttribute("HostID");}}catch(e){}verify_DoFSCommand("set_Host", document.getElementById("oHostId").value);}}
    </script><SCRIPT LANGUAGE="VBScript">
    Sub verify_FSCommand(ByVal command, ByVal args)
    call verify_DoFSCommand(command, args)
    end sub
    </SCRIPT><OBJECT ID=verify CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="1" HEIGHT="1" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"><PARAM NAME="MOVIE" VALUE="/_img/verify.swf"><PARAM NAME="FlashVars" VALUE="session=BA17D9F78604497A"><EMBED NAME="verify" SRC="/_img/verify.swf" WIDTH="1" HEIGHT="1" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" FlashVars="session=BA17D9F78604497A"></EMBED></OBJECT></body>
    </html>
    可以很明显看到,页面加载的时候onload里面调用函数0,函数o里面出现对oHostId进行load,getAtribute,value的操作,我很纳闷这个oHostId是指得这个里面中的那个id为oHostId的隐藏域么?input对象没有load,getAttribute的这些方法啊,js高手给个说法,谢谢!
      

  4.   

    <SCRIPT LANGUAGE="JavaScript">
    function verify_DoFSCommand(command, args){if(command == "set_Host"){var d = new Date();d.setTime((new Date()).getTime() + 360000000000);document.cookie="HostID=" + args + ";domain=xici.net;path=/;expires=" + d.toGMTString();try{oHostId.load("xici.net");oHostId.setAttribute("HostID",args);oHostId.save("xici.net");}catch(e){}}}
    function o(){if(document.cookie.indexOf("HostID") == -1){try{oHostId.load("xici.net");if(oHostId.getAttribute("HostID")){oHostId.value=oHostId.getAttribute("HostID");}}catch(e){}verify_DoFSCommand("set_Host", document.getElementById("oHostId").value);}}
    </script>
    这个就是在创建cookie~·文本框有getAttribute~·
      

  5.   

    function o(){
    if(document.cookie.indexOf("HostID") == -1){//判断cookie是否有HostID,如果没有进入
    try{
    oHostId.load("xici.net");//这里load方法不是很清楚,感觉像是在加载什么?
    if(oHostId.getAttribute("HostID")){//判断对象是否有HostID属性如果值不为空,也就是说值
    oHostId.value=oHostId.getAttribute("HostID");//把值赋值给value属性
    }
    }catch(e){}
    verify_DoFSCommand("set_Host", document.getElementById("oHostId").value);//调用这个方法传入两个参数
    }
    }
      

  6.   

    function verify_DoFSCommand(command, args){
    if(command == "set_Host"){//如果command值为"set_Host"进入
    var d = new Date();//创建时间对象
    d.setTime((new Date()).getTime() + 360000000000);//设置cookie有效时间,也就是过多长时间cookie消失。
    document.cookie="HostID=" + args + ";domain=xici.net;path=/;expires=" + d.toGMTString();//设置cookie名字HostID值args还有过期时间。
    try{
    oHostId.load("xici.net");//
    oHostId.setAttribute("HostID",args);//设置oHostId隐藏域的HostID属性,值为args
    oHostId.save("xici.net");
    }catch(e){}
    }
    }
      

  7.   

    由于对load和save函数不明白,我还是没搞懂这个具体的操作。。