查询字符串编码

网络建设中可以发现,URL参数在传输过程中被处理过,即参数被编码。在接收页面的地址栏中显示如下的URL查询字符串:http://localhost:8080/request.php?user=%E9%87%91%E4%B8%89%E8%83%96&pass=12345678

在上面的查询字符串中,所有双字节的汉字全部被编码显示。但对于ASCII字符则不进行编码处理。查询字符串未被解析之前,以编码形式呈现在浏览器中的地址文本框中,这在一定程度上可以防止双字节字符信息被直接看到,当然这不是加密,自然无法保护查询字符串的信息安全。

实际上,在查询字符串中有几个特殊的字符,了解这些字符所代表的意思,可以准确获取查询字符串中的参数信息。

在PHP中对字符串进行编码可以通过urlen-code()函数实现。

例如,在下面示例中有两条超链接,使用ur-lencode()函数对在URL中的查询字符串进行编码,一个是经过编码,一个没有经过编码,则在传输过程中可以看到地址栏中不同的显示效果。

<a href="request.php?name=这是秘密信息,需编码" data-role="button">未编码信息</a><a href="request.php?name=<?PHP echo URLencode("这是秘密信息,需编码传输"); ?>" data-role="button">编码信息</a>

网站建设、网络营销咨询专线:0871-63535511(点击可一键拨号)