php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9726 the HTTP_POST_VARS are prepended by RC BS
Submitted: 2001-03-13 10:01 UTC Modified: 2001-03-15 22:24 UTC
From: jbeney at lisi dot insa-lyon dot fr Assigned:
Status: Closed Package: Apache related
PHP Version: 4.0.4pl1 OS: Linux porky.devel.redhat.com 2.2
Private report: No CVE-ID: None
 [2001-03-13 10:01 UTC] jbeney at lisi dot insa-lyon dot fr
The script below worked with php3. When the button
<input type="submit" name="Enregistrer" value="Enregistrer" >
is clicked, the variable $Enregistrer gets the value "Enregistrer" and the test
if($Enregistrer=="Enregistrer")
says yes.

We transfered our site on a server with PHP4 and then the HTTP_POST_VARS are prepended by two characters RC BS (decimal codes 13  & 10) and the above test says no.
If I change the test to
if(strcmp(substr($Enregistrer,2),"Enregistrer")==0)
it says yes.
_____________
<html>
<head> <SCRIPT LANGUAGE="JavaScript" src="script.js"> </SCRIPT> </head>
 
<body>
<form method=POST enctype="multipart/form-data"
        action="<? echo $PHP_SELF ?>" name="formu">
<?php
$xxx=gettype($Enregistrer);
$yyy=strlen($Enregistrer);
echo "$xxx:$yyy:$Enregistrer:<br> ";
$xxx=ord($Enregistrer[0]);
$yyy=ord($Enregistrer[1]);
echo "-$xxx-$yyy-$Enregistrer[2]-$Enregistrer[11]-$Enregistrer[12]-<br>";
 
$xxx=gettype("$Fonction");
$yyy=strlen("$Fonction");
echo "$xxx:$yyy:$Fonction:<br>";
$xxx=ord($Fonction[0]);
$yyy=ord($Fonction[1]);
echo "-$xxx-$yyy-$Fonction[2]-$Fonction[21]-$Fonction[22]-<br>";
/* if(strcmp(substr($Enregistrer,2),"Enregistrer")==0) */
if($Enregistrer=="Enregistrer")
  { echo "enregistrer"; }
else
  { echo "ne pas enregistrer"; }
 
?>
<P>
<?php PRINT "<select name=\"Fonction\">";
      PRINT "<option selected value=\"$Fonction\">$Fonction";
      PRINT "<option value = \"Professeur\"> Professeur</option>";
      PRINT "<option value = \"Ma?tre\"> Ma?tre</option>";
      PRINT "</select>";
?>
 
<p> <input type="submit" name="Enregistrer" value="Enregistrer" > </p>
 
</form> </body> </html>
_________________
Configure Command 
                              './configure' '--prefix=/usr'
                              '--with-config-file-path=/etc' '--disable-debug'
                              '--enable-pic' '--enable-shared'
                              '--enable-inline-optimization'
                              '--with-apxs=/usr/sbin/apxs' '--with-exec-dir=/usr/bin'
                              '--with-regex=system' '--with-gettext' '--with-gd'
                              '--with-jpeg-dir=/usr' '--with-png' '--with-zlib'
                              '--with-db2' '--with-db3' '--with-gdbm'
                              '--enable-debugger' '--enable-magic-quotes'
                              '--enable-safe-mode' '--enable-sockets'
                              '--enable-sysvsem' '--enable-sysvshm'
                              '--enable-track-vars' '--enable-yp' '--enable-ftp'
                              '--enable-wddx' '--without-mysql' '--without-oracle'
                              '--without-oci8' '--with-xml'
__________________
other parts of phpinfo()

register_globals    On 
Apache Version      Apache/1.3.14
Apache Release      10314100
Apache API Version  9990320

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-03-13 22:21 UTC] sniper@php.net
Please try the latest CVS snapshot from http://snaps.php.net/ as I can't reproduce this.

--Jani

 [2001-03-15 07:48 UTC] jbeney at lisi dot insa-lyon dot fr
Recompiling php4 (with the right httpd.h) solved the problem.
Before, both apache and php were installed by way of RPMs:
apache-1.3.14-3 and php-4.0.4pl1-3

It seems that these RPM were not fully compatible (they were not compiled together).

 [2001-03-15 22:24 UTC] sniper@php.net
Solved by recompiling -> closed.

--Jani

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 14:01:29 2024 UTC