相关疑难解决方法(0)

"new DOMParser.parseFromString"可以比"createElement"更安全吗?

我创建了一个脚本,用于尝试删除不安全的内容(我将其用于浏览器扩展):

var str = "<strong>Hello</strong> mundo <script src="http://site/badscript.js"></script>";
CreateDOM(str);

function RemoveAttrs(target)
{
    var attrs = target.attributes, currentAttr;
    var validAttrs = [ "href", "class", "id", "target" ];

    for (var i = attrs.length - 1; i >= 0; i--) {
        currentAttr = attrs[i].name;

        if (attrs[i].specified && validAttrs.indexOf(currentAttr) === -1) {
            target.removeAttribute(currentAttr);
        }

        if (
            currentAttr === "href" &&
            /^(#|javascript[:])/gi.test(target.getAttribute("href"))
        ) {
            target.parentNode.removeChild(currentAttr);
        }
    }
}

function RemoveEls(target)
{
    var current;

    //Remove elements insecure (blacklist)
    var list = target.querySelectorAll("script,link,...");

    for (var i = …
Run Code Online (Sandbox Code Playgroud)

javascript xss

5
推荐指数
1
解决办法
1383
查看次数

Javascript unescape似乎不起作用

我有一个简单的字符串是

Company&#39;s
Run Code Online (Sandbox Code Playgroud)

现在我有一些提交表单时运行的javascript

var jsCompanyName = '@Model.Name';
var unescapedCompanyName = unescape(jsCompanyName);
$('.selector-input').val(unescapedCompanyName);
$('.selector-input-id').val('@Model.Id');
Run Code Online (Sandbox Code Playgroud)

经过调试人员的思考,即使使用了unescape函数,我的var unescapedCompanyName仍然是“ Company's”,是否有人对为什么不删除&#39;并用'

html javascript razor

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

标签 统计

javascript ×2

html ×1

razor ×1

xss ×1