URL查询字符串中的特殊字符

Special Characters in URL query string

本文关键字:特殊字符 字符串 查询 URL      更新时间:2023-09-26

我有一个情况,用户可以在URL查询字符串中输入任何他们想要的字符。

的例子:

http://localhost/default.aspx?ID = XXXX

http://localhost/default.aspx?ID=& XXXX

http://localhost/default.aspx?ID = # XXXX

无论字符是什么,网页都必须接受ID参数。然而,某些特殊字符,如& &;)和#(#)会产生问题。我怎么能接受他们呢?

This:

encodeURIComponent(uri)

式中uri?ID=后的分量

如果用户正在输入查询字符串,他们必须首先对查询字符串进行适当的编码。如果您自己创建查询字符串,例如从表单提交,则需要使用URL编码方法。

将URL编码为HttpServerUtility。UrlEncode Method (String)

编辑:根据您的评论,您想获得ID的查询字符串值

 String id = Request.QueryString["ID"];

使用

userinput = escape(userinput)

then,在PHP中:

$userinput = urldecode($_GET['id'])

或在JS中:

userinput = unescape(userinput)