插入循环时获取的Javascript代码

时间:2014-10-22 18:31:33

标签: javascript json extjs

我发现了一个非常难以重现的问题,但我认为这里有人可能已经看过这个。

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

var newObject = Ext.Object({
    property: 'value',
    property2: 'value',
    property3: new Ext.Object2({
        property1: 'value',
        listProperty: [
            { name: 'foo', value: 'bar' },
            { name2: 'foo2', value: 'bar2' }
        ]
    })
});

正在发生的事情是,当在浏览器中执行此代码时,似乎正在尝试做一些数据污染以防止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发生了变化。这是在安装了Mason的Windows 2008 R2服务器上安装的通过Apache 2.2运行的Javascript代码。

有没有人见过这样的事情?

0 个答案:

没有答案