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

这个问题是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脚本并存。

(0)

相关推荐

  • apache urlrewrite防盗链功能配置

    DocumentRoot /home/img ServerName img.host.com ErrorDocument 404 / RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://img.host.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.host.com/.*$ [NC] RewriteRule \.(g

  • 用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写

    前些日子用Linux做服务器写了一些东西,发现Apache下的.htaccess真是个好东西!不仅能实现URL真重写,还能实现假重写.真重写可以有效降低代码量与服务器资源消耗量,伪重写可以有效减少服务器的静态文件体积,节约了空间,真是不错!其实htaccess的功能远不只如此. 言归正传,那么IIS下能不能也实现htaccess这样激动人心的功能呢?ASP.NET2.0这个东东不是服务器级的,不能胜任重写这个重任,那么只有交给ISAPI了,在网上搜索,还居然真有公司(组织)开发了这种东东!不可思

  • Apache Rewrite url重定向功能的简单配置

    1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite的配置 Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写.配置步骤如下: (1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewri

  • 修改apache配置文件去除thinkphp url中的index.php

    例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index.php呢? 1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 复制代码 代码如下: #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.AllowOverride None 讲

  • Apache Rewrite实现URL的301跳转和域名跳转

    如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意

  • Apache+Weblogic实现URL转发

    一.需求背景 项目部署在Weblogic应用服务器上,上线之后,申请并配置了域名,但是仍需加上端口号才能访问,这样对于用户访问很不方便.为了实现直接用域名访问系统,于是开发人员搭建了Apache HTTP Server,利用URL转发来解决这个问题. 二.安装Apache HTTP Server 1.下载apache(地址:http://httpd.apache.org),并解压到指定目录下: 2.安装,步骤如下: 首先进入解压后的apache文件夹下,然后依次执行如下命令: [root@loc

  • linux下apache开启url重写的方法(详细说明)

    Linux开启url重写的方法: 1.打开 apache 里httpd.conf(通常是在/etc/httpd/conf目录里) 2.找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的# 3.找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉 注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写.Apache 服务器要读每个网站下目录下的 .

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

    这个问题是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/+/&qu

  • php.ini中的php-5.2.0配置指令详解

    ;; 关于php.ini ;;  这个文件必须命名为'php.ini'并放置在httpd.conf中的PHPIniDir指令指定的目录中. ; 最新版本的php.ini可以在下面两个位置查看: ; http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co ; http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co ;;;;;;;;;;;; ;; 语法 ;; ;;

  • Ubuntu linux 安装 PHP5.3.0的命令

    刚刚手头有台机器刚装了 ubuntu, 编译了一下 LAMP 系统, PHP 5.3.0 改动比较大. 第一眼看到的 php.ini 文件里已经变动了. 感觉比一以前版本的舒服点了. 有了开发环境和生产环境的配置区分了. 详细的以后慢慢了解了. 貌似增强了很多功能. 从 phpinfo() 里看出来的. 放出一张刚测试出的phpinfo()截图, 后面张贴一下本次编译的命令记录. 看看编译的一堆命令. 有需要的朋友可以拿去参考一下. sudo apt-get install build-esse

  • Win2003下安装PHP5.2.0+MySql5.0.27+PHPMyAdmin2.9.1的配置方法

    先下载所需要安装的东东~~  PHP 5.2.0 官方下载地址:http://www.php.net/downloads.php  mysql-5.0.27 官方下载地址:http://dev.mysql.com/downloads/mysql/5.0.html  phpMyAdmin for Windows V2.9.1 官方下载地址:http://www.phpmyadmin.net/home_page/index.php  你也可以上天空站下载:http://www.skycn.com/s

  • php5.2.0内存管理改进

    php5.2.0的内存管理做了较大的改进,某些情况下内存不能释放的问题不存在了.测试php脚本(mem.php),我用echo N>>和sleep来控制脚本在某个阶段暂停以便检测状态. 复制代码 代码如下: <?php  echo '1>>';  sleep(5); $o = array();  for ($i=0;$i<=100000;$i++) {      $o[]='aaaaaaaaaaaaaaaaaaaaa';  }  echo '2>>';  s

  • IIS环境下快速安装、配置和调试PHP5.2.0

    记录过程以防遗忘,仅作参考. 一,在哪里获得PHP 打开PHP官方网站的下载页:http://www.php.net/downloads.php 选择"PHP 5.2.0 installer [18,879Kb] - 02 Nov 2006"链接进行下载 二,PHP5安装流程 打开安装文件,"Next"开始 选择接受协议 选择PHP安装路径,建议直接在磁盘根目录下,比如"C:\PHP\" 选择WEB服务器方式为"IIS 4+ISAPI

  • 深入分析在Python模块顶层运行的代码引起的一个Bug

    然后我们在Interactive Python prompt中测试了一下: >>> import subprocess >>> subprocess.check_call("false") 0 而在其他机器运行相同的代码时, 却正确的抛出了错误: >>> subprocess.check_call("false") Traceback (most recent call last): File "&qu

  • Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法

    03年的时候就看过一本php的书,那时还是php3,回首四年php的在web开的的前景真还是一片光明啊!三年不见的php在去看已到了php5了,现在算起我真正从写第一个php的WEB开始距今还是有三四个月了,用工作之余正在进行www.kuomart.com网站的写做,回想当初一直用的是Windows2003+IIS6+PHP5.0.7+MYSQL4.1在进行开发,直到昨天机子重了木马,Kav也没查出个所以然,自己找也没有发现什么可疑暴露点,所以干脆重装了一下xp,由于TV1000电视卡只能在xp

  • CentOS Linux 下配置Apache2+PHP5+MySQL5+GD库的方法

    先安装MYSQL 服务器 解压MySQL,把所有文件复制到/usr/local/mysql [root@Bleach usr]# groupadd mysql [root@Bleach usr]# useradd -g mysql mysql [root@Bleach mysql]# cd /usr/local/mysql [root@Bleach mysql]# scrīpts/mysql_install_db --user=mysql  [root@Bleach mysql]# chown 

  • linux下为php添加iconv模块的方法

    ./configure --with-mysql=/backup/mysql --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-curl --with-gd --enable-gd-native-ttf --with-apxs2=/usr/local/apache/bin/apxs --enable-sockets --with-iconv make时提示: 复制代码 代码如下: .............

随机推荐