2010-08-31 4 views
2

J'ai un formulaire simple qui est soumis à un fichier post.php. Ce formulaire a des champs de saisie. Si le texte écrit dans l'un de ces champs de saisie est: System something, alors j'obtiens une erreur 403 interdite.Texte du système causant 403 erreur interdite dans PHP

Cependant, si j'écris le même système entre guillemets, c'est-à-dire "System" alors cela fonctionne très bien.

Il semble que le système soit traité ici comme une commande et que j'écrive après que ce soit traité comme le paramètre.

Le code n'atteint même pas post.php. Même si je supprime le fichier post.php, j'obtiens toujours une erreur 403 au lieu d'une erreur de fichier introuvable. Peut-être que c'est quelque chose à voir avec Apache.

Veuillez nous aviser. Ci-dessous le formulaire:

<form action="post.php" method="post" name="form1"> 
          <table cellspacing="0" cellpadding="4" border="0"> 
       <tbody><tr valign="top"> 
        <td>Title</td> 
        <td><input type="text" value="" size="40" id="title" name="title"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Company</td> 
        <td><input type="text" value="" size="40" id="company" name="company"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Responsibilities</td> 
        <td><textarea id="responsibilities" rows="7" cols="55" name="responsibilities"></textarea></td> 
       </tr> 
       <tr valign="top"> 
        <td>Position Requirements</td> 
        <td><textarea id="requirements" rows="7" cols="55" name="requirements"></textarea></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact</td> 
        <td><textarea id="contact" rows="7" cols="55" name="contact"></textarea></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact Name </td> 
        <td><input type="text" value="" size="40" id="contact_name" name="contact_name"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact Title </td> 
        <td><input type="text" value="" size="40" id="contact_title" name="contact_title"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Address 1</td> 
        <td><input type="text" value="" size="40" id="address1" name="address1"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Address 2</td> 
        <td><input type="text" value="" size="40" id="address2" name="address2"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact Phone </td> 
        <td><input type="text" value="" size="40" id="contact_phone" name="contact_phone"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact Fax</td> 
        <td><input type="text" value="" size="40" id="contact_fax" name="contact_fax"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact Email </td> 
        <td><input type="text" value="" size="40" id="contact_email" name="contact_email"></td> 
       </tr> 
       <tr valign="top"> 
        <td>Contact Website </td> 
        <td><input type="text" value="" size="40" id="contact_website" name="contact_website"></td> 
       </tr> 
       <tr valign="top"> 
        <td>&nbsp;</td> 
        <td>&nbsp;</td> 
       </tr> 
       <tr valign="top"> 
        <td colspan="2"><input type="submit" value="Add Job" name="Submit"></td> 
        </tr> 
       </tbody></table> 
</form> 

Voici les en-têtes HTTP envoyées:

(Request-Line) POST /admin/jobbank/post.php HTTP/1.1 

User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100401 Ubuntu/9.10 (karmic) Firefox/3.5.9 

Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 

Accept-Language en-us,en;q=0.5 

Accept-Encoding gzip,deflate 

Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 

Keep-Alive 300 

Connection keep-alive 

Referer jobbank/add.php 

Cookie PHPSESSID=bc679ded5a7f7650692084042c137d77 

Content-Type application/x-www-form-urlencoded 

Content-Length 188 

La réponse HTTP reçues:

(Status-Line) HTTP/1.1 403 Forbidden 

Date Tue, 31 Aug 2010 09:52:16 GMT 

Server Apache/1.3.41 Ben-SSL/1.60 (Unix) mod_gzip/1.3.26.1a mod_fastcgi/2.4.2 mod_throttle/3.1.2 Chili!Soft-ASP/3.6.2 FrontPage/5.0.2.2635 mod_perl/1.30 PHP/4.4.9 

Keep-Alive timeout=15 

Connection Keep-Alive 

Transfer-Encoding chunked 

Content-Type text/html; charset=iso-8859-1 
+0

On dirait que vous avez une configuration Apache loufoque - mais s'il vous plaît ne publiez le fichier post.php vous soumettez à, même si vous pensez qu'il est non pertinent. Vérifiez également les autorisations sur le fichier post.php pour vous assurer qu'Apache est autorisé à le charger. –

+0

Pourriez-vous s'il vous plaît fournir la version de votre Apache? De plus existe-t-il un filtre de paquets entre vous et le serveur? –

+0

@Stephen - le post.php est bien comme si je saisis un texte normal. Les autorisations sont également très bien. Je viens de vérifier . @ coding.mof - Non, il n'y a pas de filtre entre moi et le serveur. –

Répondre

3

Je suppose que vous avez un module de protection pour Apache, que vérifie les variables GET et POST pour les valeurs suspectes telles que http://www.modsecurity.org/

Vous devez l'accorder ou l'éteindre.

Je pense qu'ils sont problématiques la plupart du temps ...

Questions connexes