查询字符串中哪些字符不安全?

web*_*nia 7 security query-string

我需要防止导致url漏洞的字符

我的示例网址http://localhost/add.aspx?id = 4; req = 4

请给出我需要阻止的字符列表.

我正在使用ASP.net网页.我从sql server数据库绑定信息.

我只想列出要远离黑客的角色,在网址中输入不需要的字符串

Sei*_*bar 7

根据您使用的技术,通常有一个内置功能可以为您处理.

ASP.NET(VB)和经典ASP

myUrl = Server.UrlEncode(myUrl)
Run Code Online (Sandbox Code Playgroud)

ASP.NET(C#)

myUrl = Server.UrlEncode(myUrl);
Run Code Online (Sandbox Code Playgroud)

PHP

$myUrl = urlencode($myurl);
Run Code Online (Sandbox Code Playgroud)

如果您只是想删除不安全的字符,则需要一个正则表达式.RFC 1738定义了哪些字符对URL不安全:

不安全:

出于多种原因,角色可能不安全.空间
字符是不安全的,因为
当URL被转录或
排版或受到文字处理程序的处理时,重要的空格可能会消失并且可能引入无关紧要的空间.字符"<"和">"是不安全的,因为它们被用作
自由文本中URL 的分隔符; 引号(""")用于
分隔某些系统中的URL.字符"#"是不安全的,应
始终进行编码,因为它在万维网和其他
系统中用于从片段/锚点分隔URL字符"%"是不安全的,因为它用于
其他字符的编码.其他字符是不安全的,因为
已知网关和其他传输代理有时会修改这些字符.这些字符是"{","} ","|","\","^","〜","[","]"和"`".