给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug

yipeiwu_com6年前PHP代码库
这个问题是mod_encoding已经先一步处理了url ,而PHP又解了一次
例如
x.php?s=%252B%2F%2B%2F
那么$_GET['s']得到的是
+/ /
urlencode("+") = %2B
urlencode("%2B") = %252B
所以,这个url被decode了两次
第一次是
urldecode( "%252B%2F%2B%2F")    = %2B/+/
urldecode( "%2B/+/")            = +/ / 
 解决办法
修改httpd.conf 将
<IfModule mod_encoding.c>
    EncodingEngine    on  
这一段配置移到需要的vitualHost里去,这个不能和php脚本并存。

相关文章

php实现随机显示图片方法汇总

php通过rand()函数产生随机数,这个函数可以产生一个指定范围的数字 这段代码通过产生的随机数,随机选择图片 <html> <body> <&#...

php实现URL加密解密的方法

本文实例讲述了php实现URL加密解密的方法。分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml" lang=...

dedecms集成财付通支付接口

用织梦做了个旅游网站,客户要求财付通支付,上网找了下 不是要买就是要钱,只有自己写了。 代码: 复制代码 代码如下: <?php if(!defined('DEDEINC'...

PHP使用函数用法详解

1.php_check_syntax 这个函数可以用来检查特定文件中的PHP语法是否正确。 <?php $error_message = ""; $filename =...

PHP反射机制原理与用法详解

本文实例讲述了PHP反射机制原理与用法。分享给大家供大家参考,具体如下: 反射 面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射。 反射,直观理解就是根据到达地找到出发地和...