Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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
插入循环时获取Javascript代码_Javascript_Json_Extjs - Fatal编程技术网

插入循环时获取Javascript代码

插入循环时获取Javascript代码,javascript,json,extjs,Javascript,Json,Extjs,我发现了一个很难重现的问题,但我想这里可能有人看到了 在一些正在执行的Javascript代码中,我有以下构造的代码(使用ExtJS) 发生的情况是,在浏览器中执行此代码时,似乎有人试图进行一些数据污染以防止JSON劫持。因此,当您查看源代码时,代码如下所示 var newObject = Ext.Object({ property: 'value', property2: 'value', property3: new Ext.Object2({ pro

我发现了一个很难重现的问题,但我想这里可能有人看到了

在一些正在执行的Javascript代码中,我有以下构造的代码(使用ExtJS)

发生的情况是,在浏览器中执行此代码时,似乎有人试图进行一些数据污染以防止JSON劫持。因此,当您查看源代码时,代码如下所示

var newObject = Ext.Object({
    property: 'value',
    property2: 'value',
    property3: new Ext.Object2({
        property1: 'value',
        listProperty: F_O_O: while(1) {[
            { name: 'foo', value: 'bar' },
            { name2: 'foo2', value: 'bar2' }
            last F_O_O; }
        ]
    })
});
不幸的是,这是无效的JavaScript,并导致运行时错误

我和其他几个开发人员一样对此进行了广泛的研究,但我们无法最终发现是什么导致了内联代码的更改。许多网络搜索都没有透露任何关于谁插入此代码的细节(Windows?IE?FF?Apache?)。我们已经在IE8、IE9和Firefox中看到了变化。这是通过安装在Windows2008R2服务器上的Apache2.2运行的Javascript代码,安装了Mason


还有谁见过这种情况吗?

显然,框架编辑JSON以防止劫持是很常见的。类似于asp.net将
d:
添加到json字符串中。顺便说一句,所有
Ext.Object
的东西是怎么回事?@Evantimboli我只是使用了假名称,而不是真正的ExtJS对象。给出这个问题的实际对象是Ext.data.JsonReader。如果您想在客户端解决这个问题,您需要编写一个自定义读取器,在对其运行json解析器之前去掉所有的缺点。
var newObject = Ext.Object({
    property: 'value',
    property2: 'value',
    property3: new Ext.Object2({
        property1: 'value',
        listProperty: F_O_O: while(1) {[
            { name: 'foo', value: 'bar' },
            { name2: 'foo2', value: 'bar2' }
            last F_O_O; }
        ]
    })
});