[PHP] Problème d'un script PHP qui ne s'éxécute pas comme il faut

Problème d'un script PHP qui ne s'éxécute pas comme il faut [PHP] - PHP - Programmation

Marsh Posté le 07-03-2003 à 00:37:10    

Salut,
 
Voila j'ai un problème avec un script PHP, c'est pour vérifier que mes serveur FTP et HTTP sont bien online. seulement ce script ne fonctionne pas chez moi.
 
Voila ce qu'on m'a dis sur S&R tout à l'heure:
[i]"En php3, quand tu as un passage de paramètre dans l'URL (...script.php3?param=valeur), tu as une variable $param directement accessible dans le code.
C'est encore possible en php 4, à condition de l'activer (paramètre dans le fichier de configuration). Je suis pas sur qu'il le soit par défaut.
Même chose pour les paramètres recus par formulaire ou par sessions.""
 
Maintenant voila la page HTML associée au script:
 

Code :
  1. <html>
  2. <head>
  3. <title>Web Server Status</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6. <body bgcolor="#FFFFFF">
  7. <table border="0" cellspacing="0" cellpadding="3">
  8.   <tr>
  9.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">Microsoft.com</font></td>
  10.     <td width="23%"><img src="status.php?link=mon_serveur" width="37" height="20"></td>
  11.   </tr>
  12.   <tr>
  13.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">Apple.com</font></td>
  14.     <td width="23%"><img src="status.php?link=mon_serveur" width="37" height="20"></td>
  15.   </tr>
  16.   <tr>
  17.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">RedHat.com</font></td>
  18.     <td width="23%"><img src="status.php?link=mon_serveur" width="37" height="20"></td>
  19.   </tr>
  20.   <tr>
  21.     <td width="77%"><font face="Arial, Helvetica, sans-serif" size="2">Google.com</font></td>
  22.     <td width="23%"><img src="status.php?link=mon_serveur" width="37" height="20"></td>
  23.   </tr>
  24. </table>
  25. </body>
  26. </html>


J'ai bien entendu remplacé "mon_serveur" par l'adresse de mon serveur.
 
Maintenant voila le fichier .php

Code :
  1. <?php
  2. //Web Server Status v 1.2, Copyright 2002 By Ryan Schwiebert, visit http://www.schwebdesigns.com/
  3. //This script may be freely distributed providing all copyright headers are kept intact.  
  4. //Concept from:
  5. //Abax Server Status v1.04, Copyright 2002 By Nathan Dickman, visit http://www.NathanDickman.com/
  6. //Location of the live or dead server images
  7. //Please change to your server specifications
  8. $live = "http://mon_serveur/live.gif";
  9. $dead = "http://mon_serveur/dead.gif";
  10. //The status checking script
  11. //meddle at your own risk!
  12. //check for port number, default is 80
  13. list($addr,$port)= explode (':',"$link" );
  14. if (empty($port)){
  15. $port = 80;
  16. }
  17. //Test the server connection
  18. $churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
  19.              if (!$churl){
  20.                 header("Location: $dead" );
  21.                 }
  22.              else {
  23.                 header("Location: $live" );           
  24.    }
  25. function server($addr){
  26.          if(strstr($addr,"/" )){$addr = substr($addr, 0, strpos($addr, "/" ));}
  27.          return $addr;
  28. }
  29. ?>


 
En fait la page s'affiche mais le script ne marche pas... j'ai pas d'info sur l'etat de mes serveurs. Pensez vous que cela vienne du problème dont on m'a parlé ? Si oui comment le résoudre ?
 
 
:hello:


Message édité par Webman le 07-03-2003 à 00:38:09
Reply

Marsh Posté le 07-03-2003 à 00:37:10   

Reply

Marsh Posté le 07-03-2003 à 09:36:15    

sur ton serveur, tu dois avoir un fichier php.ini : dans ce fichier, tu as un paramètre appelé REGISTERS_GLOBALS=off. Si tu veux que ton script ait une chance de marcher dans l'état actuel, faut mettre cette variable sur on. mais bon, c moins secure.

Reply

Marsh Posté le 07-03-2003 à 10:22:53    

Ok merci de ta réponse :jap:
Tu peux me dire en quoi c'est moins sécurisé d'activer ce paramètre ? Car comme c'est un serveur qui à 10000 roles différents je ne voudrais pas mettre la sécurité de l'ensemble pour un simple script php ? Sachant que je suis sous 2K Server et IIS 5.0.  
 
:hello:
 
Edit: J'ai lu quelques trucs a propos de ce paramètre mais sans grand résultat... alors si vous pouviez m'expliquer ca serait génial.:)


Message édité par Webman le 07-03-2003 à 10:28:53
Reply

Marsh Posté le 07-03-2003 à 10:31:03    

[:fuel]  [:fuel]  [:fuel]  [:fuel]  [:fuel]  
 
compromettre la sécurité d'un serveur IIS??? comment veux-tu compromettre quelquechose qui n'existe pas, même pas le concept!!
(troll inside)
 
bon sinon, plus sérieusement, je ne sais pas en quoi c moins secure, c juste ce que j'ai lut qqe part. de toutes façons, si tu veux pas prendre de risques, garde l'option sur off et utilise la nouvelle syntaxe (tableaux $HTTP_POST_VARS ou GET selon ta méthode)

Reply

Marsh Posté le 07-03-2003 à 10:35:56    

Ok, merci de tés réponses :jap:
Sinon mon IIS c'est le plus fort :sol: et tok !!!!! (troll inside again :d)
 
 
:hello:

Reply

Marsh Posté le 09-03-2003 à 21:27:13    

arghbis a écrit :

sur ton serveur, tu dois avoir un fichier php.ini : dans ce fichier, tu as un paramètre appelé REGISTERS_GLOBALS=off. Si tu veux que ton script ait une chance de marcher dans l'état actuel, faut mettre cette variable sur on. mais bon, c moins secure.


 
J'ai mis ce paramètre sur "on" mais cela ne change rien... si quelqu'un a une idée je suis preneur sinon c'est pas grave.
 
:hello:

Reply

Marsh Posté le 10-03-2003 à 00:37:33    

Tu es sur que ca fonctionne d'appeller une image (<img src="status.php?link=mon_serveur" width="37" height="20"> ) qui, en fait, ne retransmet qu'un header :??:
 
Tu as testé le script simplement en affichant le résultat ?


Message édité par mrbebert le 10-03-2003 à 00:40:14
Reply

Marsh Posté le 10-03-2003 à 01:33:37    

arghbis a écrit :

[:fuel]  [:fuel]  [:fuel]  [:fuel]  [:fuel]  
 
compromettre la sécurité d'un serveur IIS??? comment veux-tu compromettre quelquechose qui n'existe pas, même pas le concept!!
(troll inside)
 
bon sinon, plus sérieusement, je ne sais pas en quoi c moins secure, c juste ce que j'ai lut qqe part. de toutes façons, si tu veux pas prendre de risques, garde l'option sur off et utilise la nouvelle syntaxe (tableaux $HTTP_POST_VARS ou GET selon ta méthode)


 
bah simplement, si tu as ton register_globals a on, ca veut dire que toutes les variables passé via POST, GET, COOKIE etc vont etre mises en globales... donc tu peux les utiliser directement avec $nom_variable... le pb de sécu (et puis simplement pour pas t'embrouiller aussi) c que si par ex tes variables viennent d'un formulaire post, tu peux toutes les redefinir ds l'url... (?var=valeur)
un coup de google sur sécurité register_globals devrait meme mieux expliquer que moi :D (pis ya des exemples aussi)


---------------
Suri.morkitu.org : Balades au coeur de la ville...
Reply

Marsh Posté le 10-03-2003 à 10:32:53    

mrBebert a écrit :

Tu es sur que ca fonctionne d'appeller une image (<img src="status.php?link=mon_serveur" width="37" height="20"> ) qui, en fait, ne retransmet qu'un header :??:
 
Tu as testé le script simplement en affichant le résultat ?


 
Je vais tester uniquement ca alors... je te tiens au courant ;)
->Suri: Merci pour l'explication :jap:
 
 
:hello:


Message édité par Webman le 10-03-2003 à 10:33:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed