相关疑难解决方法(0)

这是使用Javascript eval()100%安全吗?

我正在编写一个生成Javascript代码的PHP库.

JavaScript代码有一些命名组件component001,component002等等.

页面通过AJAX动态加载.

我需要通过URL变量传递组件的名称,然后由脚本evaled().

我正在保护正在被唤醒的东西的唯一方法是使用正则表达式^component[0-9]{3}$:如果它通过则会被篡改,否则就不会.

对我来说这是100%安全的,因为没有任何东西会被执行,除非它只是我的一个已知组件的名称,或者是否有关于eval()该代码示例中可以利用的命令,例如正则表达式注入,某种交叉站点脚本等?

window.onload = function() {

    // *** DEFINED IN ANOTHER JAVASCRIPT FILE:
    var component001 = 'testing111';
    var component002 = 'testing222';
    var component003 = 'testing333';

    var APP = {};

    APP.getUrlVars = function() {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }

    APP.getUrlVar = function(name, defaultValue) …
Run Code Online (Sandbox Code Playgroud)

javascript security eval

4
推荐指数
1
解决办法
1147
查看次数

标签 统计

eval ×1

javascript ×1

security ×1