mailRe: [Galette-discussion] Contournement problème Magi c quotes


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Johan Cwiklinski on October 28, 2009 - 19:11:
Salut,

Le 28/10/2009 18:13, Mathieu Vallet a écrit :
Bonjour,

J'étais confronté au problème suivant : les mails partants aux
adhérents avaient un souci d'encodage des apostrophes qui se
transformaient en \ (antislash) dans le titre et le corps du texte.

Suite à des précédentes discussions, j'ai mis à la racine le fichier
.htaccess avec la ligne :
SetEnv MAGIC_QUOTES 0

Mais cela ne suffisait pas (certainement dû à l'hébergeur). C'est un
hébergement dédié mais je ne sais pas comment faire des modifs du
service..

Il faut édite rle fichier php.ini et passer les valeurs des variables
"magic_quotes_*" à "Off " :
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

il est déconseillé d'utiliser les magic_quotes, ces fonctionnalités sont
dépréciées en php 5.3 ; et seront supprimées dans php6.


J'ai cherché sur le web et trouvé ce bout de code que j'ai mis au
début du fichier "mailing_adherents.php" :
source : http://forum.znsoft.fr/viewtopic.php?id=452


define('MAGIC_QUOTES', get_magic_quotes_gpc());

// Création de la fonction
function no_magic_quotes(&$array) {

    // Détection si magic_quotes est  activé
    if(MAGIC_QUOTES) {
        foreach($array as $key => $val) {
            // Si la variable est un   tableau
            if(is_array($val)) {
                // Alors on rappelle la fonction pour traiter ce  tableau
                no_magic_quotes($array[$key]);
            }
            // Sinon si la variable n'est pas un     numérique   
alors elle   est susceptible de contenir des antislahs ou quotes
ajouté par  Magic Quotes (Sybase)
            elseif(!is_numeric($val)) {
                // Alors on   lui  enlève les antislashs ajoutés par
Magic Quotes
                $array[$key] = stripslashes($val);
            }
        }
    }
}

// Voici la    liste  des superglobales touchées par Magic Quotes :
no_magic_quotes($_GET);
no_magic_quotes($_POST);
no_magic_quotes($_COOKIE);


Et résultat tout fonctionne bien. Il faut bien garder le fichier
.htaccess précédemment installé.

Tu es certain de ce dernier point (conservation du .htaccess) ?


Je ne suis pas spécialiste, j'ai testé un peu par hasard. A vous de
voir si cela peut aider ou être utile.

En tous cas, si ça a fonctionné pour toi, c'est déjà une bonne chose :-)
Et merci d'avoir remonté ta solution ici ;-)

Bonne soirée,
Johan

Attachment: signature.asc
Description: OpenPGP digital signature


Related Messages


Powered by MHonArc, Updated Sat Oct 31 08:00:23 2009