Protéger son site contre les \' et \" [Résolu]

Signaler
Messages postés
22
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
16 décembre 2011
-
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
-
Bonjour,

Je suis en train de faire un petit script PHP pour permettre de modifier le contenu d'une page. Le contenu est dans un fichier *.txt et mon problème est que quand je mets des " ou ' ou encore \ il me rajoute a chaque fois des \ devant chaque caractère. Et ce n'est pas top. Voila le lien de mon script hébergé sur mon serveur : http://depot.babeuloula.fr/txt-php/

Et voici le script php :

[code=php]





PHP + TXT












Récupération d'un texte dans un *.txt





Modification d'un texte dans un .txt

















/code

[code=php]

5 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
bonjour
chez moi ça fonctionne
j'ai mis file_exists

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
    
<head>
    
    <title>PHP + TXT</title>
    
    <link rel="shortcut icon" type="image/x-icon" href="">
    <link title="defaut" type="text/css" rel="stylesheet" href="style.css" media="screen">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="keywords" content="MOT CLE1; MOT CLE2">
    <meta name="Description" content="DESCRIPTION COURTE">

</head>


    
    <center>Récupération d'un texte dans un *.txt
</center>
    
    

        <?php
        
            $chemin = 'texte.txt';
              
              if(file_exists($chemin) && $lignes=file($chemin)){
                       
                foreach ($lignes as $ligne){
                echo ''.$ligne.'

';
                }
              
              }else{
              $handle = fopen($chemin,'w+');
              fclose($handle);
              }
        ?>
    

    
    <center>Modification d'un texte dans un .txt
</center>
    
    

            
<?php
    
    $fname = "texte.txt";
    if(!isset($_POST["text"])) {
        echo '<form method="post" action="">';
        echo '<textarea name="text\' id="message" cols="80" rows="10">';
        readfile($fname);
        echo '</textarea>';
        echo '

';
        echo '</form>'; 
    }
    
    else {
        $fhandle = fopen($fname,"w");
        $text = $_POST['text'];
        
        $text=strip_tags($text); /*si tu veux pas de tags*/
        /*htmlentities ...*/
        $text=stripslashes($text);
        
        fwrite($fhandle,$text);
        fclose($fhandle);
        echo '<center>Message modifié avec succés</center>';
        echo '<center>[ Retour]

</center>';
    }  
    
?>




Bonne programmation !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
je reposte une boulette dans le code précédent
un \' qui doit etre un "
excuses donc :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
    
<head>
    
    <title>PHP + TXT</title>
    
    <link rel="shortcut icon" type="image/x-icon" href="">
    <link title="defaut" type="text/css" rel="stylesheet" href="style.css" media="screen">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="keywords" content="MOT CLE1; MOT CLE2">
    <meta name="Description" content="DESCRIPTION COURTE">

</head>


    
    <center>Récupération d'un texte dans un *.txt
</center>
    
    

        <?php
        
            $chemin = 'texte.txt';
              
              if(file_exists($chemin) && $lignes=file($chemin)){
                       
                foreach ($lignes as $ligne){
                echo ''.$ligne.'

';
                }
              
              }else{
              $handle = fopen($chemin,'w+');
              fclose($handle);
              }
        ?>
    

    
    <center>Modification d'un texte dans un .txt
</center>
    
    

            
<?php
    
    $fname = "texte.txt";
    if(!isset($_POST["text"])) {
        echo '<form method="post" action="">';
        echo '<textarea name="text" id="message" cols="80" rows="10">';
        readfile($fname);
        echo '</textarea>';
        echo '

';
        echo '</form>'; 
    }
    
    else {
        $fhandle = fopen($fname,"w");
        $text = $_POST['text'];
        
        //$text=strip_tags($text); /*si tu veux pas de tags*/
        /*htmlentities ...*/
        $text=stripslashes($text);
        
        fwrite($fhandle,$text);
        fclose($fhandle);
        echo '<center>Message modifié avec succés</center>';
        echo '<center>[ Retour]

</center>';
    }  
    
?>

    




</html>


Bonne programmation !
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Regardes addslashes et son opposée.
Tu dois avoir les magic quotes activé, d'où l'effet.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
22
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
16 décembre 2011
1
Et bah merci, ce fut rapide et efficace.

Quand je pense que c'est juste une variable qui allait pas, ça me tue.

Bon bah RESOLU. Merci a tous.
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site