当前位置:  开发笔记 > 编程语言 > 正文

正则表达式检测Javascript在字符串中

如何解决《正则表达式检测Javascript在字符串中》经验,为你挑选了1个好方法。

我试图在我的查询字符串值中检测JavaScript.

我有以下c#代码

    private bool checkForXSS(string value) 
    {
        Regex regex = new Regex(@"/((\%3C)|<)[^\n]+((\%3E)|>)/I"); 

        if (regex.Match(value).Success) return true; 

        return false; 
    }

这适用于检测标签,但遗憾的是,如果没有标签,则未达到匹配.

正则表达式是否可以匹配JavaScript关键字和分号等?

这并不意味着涵盖所有XSS攻击基础.只是一种检测可以在字符串值中的简单JS攻击的方法.

谢谢



1> Rodrigo..:

Nº1规则:使用白名单,而不是黑名单.

您正在阻止一种方法来执行XSS,而不是任何方式.要实现这一点,您必须根据用户输入接受的内容验证输入,即

如果您期望一个数字,请验证输入 /^\d{1, n}$/

如果你期望一个字符串,验证它/^[\s\w\.\,]+$/等等...

有关详细信息,请阅读维基百科条目,OWASP条目,webappsec文章以及由未知人员撰写的一些随机博客条目

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有