PHP的 urlencode()在ThinkPHP框架中的使用需要注意的地方
2013-01-31 21:43
603 查看
PHP中的urlencode()
除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。
替换规则有
字符 特殊字符的含义 URL编码
# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
\ 表示目录路径 %2F (在浏览器中表现为 “ / ”)
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F
(以下现象是我在本地测试结果,本地开启PATHINFO模式,网络还没测)
我用了一个加密函数加密一个参数,然后在页面间用get方法传递,发现只要存在%2F 也就是 斜杠“/”,就出现以下现象
原因没分析出来, 于是我在使用 urlencode()函数之后,专门对%2F进行了处理 ,替换一个我认为也绝对会唯一的识别 %2XURL
在接受值的时候专门讲 %2XURL 替换成 /
$urle=str_replace("%2XURL", "/", $_GET['CODE']);
然后在进行解码;
如有高手路过,请指教具体原因
参考文档http://www.huacolor.com/article/2187.html
/article/1268683.html
除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。
替换规则有
字符 特殊字符的含义 URL编码
# 用来标志特定的文档位置 %23
% 对特殊字符进行编码 %25
& 分隔不同的变量值对 %26
+ 在变量值中表示空格 %2B
\ 表示目录路径 %2F (在浏览器中表现为 “ / ”)
= 用来连接键和值 %3D
? 表示查询字符串的开始 %3F
(以下现象是我在本地测试结果,本地开启PATHINFO模式,网络还没测)
我用了一个加密函数加密一个参数,然后在页面间用get方法传递,发现只要存在%2F 也就是 斜杠“/”,就出现以下现象
原因没分析出来, 于是我在使用 urlencode()函数之后,专门对%2F进行了处理 ,替换一个我认为也绝对会唯一的识别 %2XURL
在接受值的时候专门讲 %2XURL 替换成 /
$urle=str_replace("%2XURL", "/", $_GET['CODE']);
然后在进行解码;
如有高手路过,请指教具体原因
参考文档http://www.huacolor.com/article/2187.html
/article/1268683.html
相关文章推荐
- PHP常量使用的几个需要注意的地方
- PHP IN_ARRAY 函数 使用需要注意的地方
- php in_array 函数使用说明与in_array需要注意的地方说明
- php使用memcache来储存session需要注意的地方
- PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
- 在PHP中使用类可能需要注意的地方
- PHP使用memcache长连接作为RPC客户端需要注意的地方
- php in_array 函数使用说明与in_array需要注意的地方说明
- PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
- PHP IN_ARRAY 函数使用需要注意的地方
- PHP IN_ARRAY 函数 使用需要注意的地方
- OPENQUERY用法以及使用需要注意的地方
- 爱上MVC3系列~使用@需要注意的地方
- PHP的foreach中使用引用时需要注意的一个问题和解决方法
- string使用需要注意的地方。
- php中使用$_REQUEST需要注意的一个问题
- spring-data-redis 使用过程中需要注意的地方
- 提高PHP代码质量需要注意的地方二
- [转]使用spring中的@Transactional注解时,可能需要注意的地方