在一个js文件中看到的,大致如下:while(1);["top",60,80,[1,0,[11,'s']],'1sd4546g']
两个问题:
1,死循环是干什么用的
2,[]内是什么意思,如果st=[1,5]这样的我还能明白,可是没定义变量st,只是[]我就不明白了,如果是数组怎么调用呢。前提条件,这段代码是正常的,[]内是要在html中用javascript显示出来的和控制显示的数据。

解决方案 »

  1.   

    []是表示数组,相当于new Array[], 
    []嵌套表示数组中的元素也是个数组,即a[3] = new Array(); a[3][0]=1;...
      

  2.   

    能不能把邻近的上下文代码也贴出来看看,单就一个while(1);就死循环了。
      

  3.   

    如果该文件 是while(1);开头,后面跟着[]JSON数据的话,
    应该是用于XHR的数据传递,保护json数据不被直接引用,
    因为浏览器直接引用的话,会死循环,而用XHR获取则会忽略while(1);
      

  4.   

     hookee
    说的应该是对的。
    是在google采用的代码。没有上下文。直接上来就是while循环,然后就是没有定义数组名的数组。
      

  5.   

    LZ是否听说过GOOGLE以及其他一些大型js架够的数据被搞,尤其是JSON数据?
    他们要么用一个script元素要么对你的脚本进行劫持就能窃取你的信息.
    对于ajax来说他的传送接收是线程性的,在线程内使用死循环,当线程死亡,他们也会跟着消失,应该没有什么大的影响.但是对于切听者来说这就不好办了,因为切听者是接受者他处于接受的应用层面,负责从ajax线程中获取信息.当线程返回的是空的时候就进入了死循环,这样切听者也就死了.
      

  6.   

    是的. 6L 和11L正解11L 很详细. 必须要赞扬一下
      

  7.   

    1,While(1);防止CSRF攻击。
    再找第二点。
      

  8.   

    第二点怎么也找不到。
    如果是 x=["top",60,80,[1,0,[11,'s']],'1sd4546g']
    还能理解,可是单单是["top",60,80,[1,0,[11,'s']],'1sd4546g']
    是怎么一回事呢????????????????