今天遇到一个很奇怪的问题,通过url传递参数url+"?name="+c#+"&id="+"21"传到另一个页面,发现竟然id读取出值为空,当 name值为c++时,传递过去值竟然只有c字符,很是奇怪,上网一查,原来url对这些字符有些特殊要求,比如对于#,当遇到它时,后面所有内容将被忽视。自己真是孤陋寡闻!有些人就借此来再数据库名后面加上#,增强安全性。但是也有破解之法,那就是不直接传递#,而是传递他在url中的ascii码 %23,利用这个我想到一种方法就是对读到的值进行判断如果结尾不包括这些特殊字符就直接传递该值,否则转化成相应的ascii码。。。。。这样做了以后是成功的,但是感觉很是不好,比较死,不具有很好的兼容性,因为无法判断所有的特殊字符,请问各位是否遇到过这种问题,有什么更好的解决方案没,希望指点指点
# 和 ++ 在url 中 传递
最新推荐文章于 2024-06-03 15:01:25 发布
本文探讨了URL中传递特殊字符导致的问题及解决方法。通过实验发现,特定符号如#会导致后续内容失效。文章提供了使用ASCII码替代特殊字符的方案,并讨论其局限性。
778

被折叠的 条评论
为什么被折叠?



