Bonjour,
pour corriger un problème, on m'a conseillé de reculer la version de PHP utilisée par l'hébergeur : de PHP5 à PHP4 ; mais je n'ai pas trouvé comment faire...
Bonjour,
pour corriger un problème, on m'a conseillé de reculer la version de PHP utilisée par l'hébergeur : de PHP5 à PHP4 ; mais je n'ai pas trouvé comment faire...
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
Sans doute parce qu'il ne faut pas le faire...
Si le script ne peut tourner que sous PHP 4 c'est qu'il est trop ancien pour mériter d'être maintenu.
Si tu nous disait quel est le problème concrêt on pourrait sans doute t'aider à le corriger. En attendant, vérifie qu'il ne s'agit pas d'un bug tout bête comme l'usage des register globals.
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter
N'oubliez pas de vous servir des bouttons,
et
Il s'agit d'un logiciel (Lauyan Toweb) qui génère des sites.
Voici le code qui pose un problème (mails.php) :et au lieu d'envoyer un mail, on a n fois ce message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <?php function is_mail_valid($email) { return eregi("^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$", $email); } function _local_replace_bad($value) { $report_to = ""; $suspicious_str = array ( "content-type:" ,"charset=" ,"mime-version:" ,"multipart/mixed" ,"bcc:" ); $suspect_found = false; $value = stripslashes($value); foreach($suspicious_str as $suspect) { if(eregi($suspect, strtolower($value))) { $suspect_found = true; $value = eregi_replace($suspect, "(anti-spam-".$suspect.")", $value); } } if ($suspect_found) { $ip = (empty($_SERVER['REMOTE_ADDR'])) ? 'empty' : $_SERVER['REMOTE_ADDR']; $rf = (empty($_SERVER['HTTP_REFERER'])) ? 'empty' : $_SERVER['HTTP_REFERER']; $ua = (empty($_SERVER['HTTP_USER_AGENT'])) ? 'empty' : $_SERVER['HTTP_USER_AGENT']; $ru = (empty($_SERVER['REQUEST_URI'])) ? 'empty' : $_SERVER['REQUEST_URI']; $rm = (empty($_SERVER['REQUEST_METHOD'])) ? 'empty' : $_SERVER['REQUEST_METHOD']; if ($ua == "empty") { exit(); } if(isset($report_to) && !empty($report_to)) { @mail( $report_to, "[ABUSE] [SUSPECT] @ " . $_SERVER['HTTP_HOST'] . " by " . $ip, "Stopped possible mail-injection @ " . $_SERVER['HTTP_HOST'] . " by " . $ip . " (" . date('d/m/Y H:i:s') . ")\r\n\r\n" . "*** IP/HOST\r\n" . $ip . "\r\n\r\n" . "*** USER AGENT\r\n" . $ua . "\r\n\r\n" . "*** REFERER\r\n" . $rf . "\r\n\r\n" . "*** REQUEST URI\r\n" . $ru . "\r\n\r\n" . "*** REQUEST METHOD\r\n" . $rm . "\r\n\r\n" . "*** SUSPECT\r\n-----\r\n" . $value . "\r\n-----" ); } } return($value); } ?>et si je remplace eregi() par preg_match(), j'obtiens le même message avec preg_match à la place de eregi...in /htdocs/public/www/_iserv/common/mails.php on line 20 Deprecated: Function eregi() is deprecated
et la routine qui appelle _local_replace_bad() (form2mail.php)
:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php @require_once("../common/mails.php"); @require_once("../common/ipenv.php"); $TO = ""; $URL = ""; $SUBJECT = ""; $LANG = "en"; $message = ""; $intro = ""; while( list($key, $val) = each($_POST) ) { if( $key == "f2memail" ) { $TO = _local_replace_bad( $val ); } else if( $key == "f2msubj" ) { $SUBJECT = _local_replace_bad( $val ); } else if( $key == "f2murl" ) { $URL = _local_replace_bad( $val ); } else if( $key == "f2mlang" ) { $LANG = strtolower( _local_replace_bad( $val ) ); } else $message .= "$key = " . _local_replace_bad( $val ) . "\n"; } $HREF = getenv("HTTP_REFERER"); $HREF = substr( $HREF, 0, strrpos( $HREF, '/' ) + 1 ); if( $LANG == "en" ) { $intro .= "This email comes from the website $HREF"; } else $intro .= "Cet email provient du site web $HREF"; $ipsender = PMA_getIp(); if( $ipsender != "" ) { if( $LANG == "en" ) { $intro .= " and was send by the IP address : $ipsender"; } else $intro .= " et a été envoyé par l'adresse IP : $ipsender"; } if( $TO != "" && $SUBJECT != "" ) { mail($TO, $SUBJECT, $intro."\n\n".$message, "From: $TO\nReturn-Path: $TO\n" ); //, "-f $TO" ); if( $URL != "" ) echo "<html><script type='text/javascript'>window.location='$URL'</script></html>"; } ?>
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager