begin process at 2012 05 31 13:07:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Protéger son site contre les \' et \"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Protéger son site contre les \' et \"

dimanche 30 octobre 2011 à 13:42:14 | Protéger son site contre les \' et \"

greg63

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 :
<!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>

<body>
    
    <center><h1>Récupération d'un texte dans un *.txt</h1></center>
    
    <div id="container">
        <?php
        
            $chemin = "texte.txt";
            $lignes = file($chemin);
                        
            foreach ($lignes as $ligne) {
                echo "<p>$ligne</p>";
            }
        
        ?>
    </div>
    
    <center><h1>Modification d'un texte dans un .txt</h1></center>
    
    <div id="container">
            
<?php
    
    $fname = "texte.txt";
    if(!isset($_POST["text"])) {
        echo "<form method=\"post\">";
        echo "<textarea name=\"text\" id=\"message\" cols=\"80\" rows=\"10\">";
        readfile($fname);
        echo "</textarea>";
        echo "<br><br>";
        echo "<input type=\"submit\" id=\"bouton\" value=\"Modifier le texte\"></form>"; 
    }
    
    else {
        $fhandle = fopen($fname,"w" );
        $text = $_POST['text'];
        stripslashes($text);
        fwrite($fhandle,$text);
        fclose($fhandle);
        echo "<center><span id='success'>Message modifié avec succés</span></center>";
        echo "<center><p><a href='index.php'>Retour</a></p></center>";
    }  
    
?>

    </div>

</body>

</html>


J'avais pensé aussi a y mettre dans une base de donnée mais le problème est qu'il ne prends pas en compte les retours a la ligne.

Voila le script avec une BDD :

Code PHP :
<!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>

<body>
    
    <center><h1>Récupération d'un texte dans une base SQL</h1></center>
    
    <div id="container">
    
        <?php
        
            include('connexion.php');
            connexion();
            
            $requete = "SELECT accueil FROM textes";
            $result = mysql_query($requete);
            
            while ($enr = mysql_fetch_array($result)) {
                echo "<p>".$enr['accueil']."</p>";   
            }
        
        ?>
    
    </div>
    
    <center><h1>Modification d'un texte dans une base SQL</h1></center>
    
    <div id="container">
            
        <form method="post" action="modification.php">
            
            <textarea id="message" name="textarea" cols="80" rows="10"><?php echo $enr['accueil']; ?></textarea>
            
            <br><br>
            
            <input type="submit" id="bouton">
            
        </form>
        
        <?php mysql_close(); ?>

    </div>

</body>

</html>


Code PHP :
<?php

    $textarea = $_POST['textarea'];
    
    include('connexion.php');
    connexion();
    
    $requete = "UPDATE textes SET accueil='$textarea'";
    $result = mysql_query($requete);
    
    if(!$result) {
        die ("La requête a échouée.");
    }
    
    mysql_close();
    
    header('Location: index.php');

?>


Voila donc si quelqu'un a une idée je suis preneur.

Merci d'avance à tous.
dimanche 30 octobre 2011 à 14:08:23 | Re : Protéger son site contre les \' et \"

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour,

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

---------------------------------------------------------------------
  1. Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. 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.

---
Mon site
dimanche 30 octobre 2011 à 14:19:19 | Re : Protéger son site contre les \' et \"

cod57

Réponse acceptée !
bonjour
chez moi ça fonctionne
j'ai mis file_exists

Code PHP :
<!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>

<body>
    
    <center><h1>Récupération d'un texte dans un *.txt</h1></center>
    
    <div id="container">
        <?php
        
            $chemin = 'texte.txt';
              
              if(file_exists($chemin) && $lignes=file($chemin)){
                       
                foreach ($lignes as $ligne){
                echo '<p>'.$ligne.'</p>';
                }
              
              }else{
              $handle = fopen($chemin,'w+');
              fclose($handle);
              }
        ?>
    </div>
    
    <center><h1>Modification d'un texte dans un .txt</h1></center>
    
    <div id="container">
            
<?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 '<br><br>';
        echo '<input type="submit" id="bouton" value="Modifier le texte"></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><span id="success">Message modifié avec succés</span></center>';
        echo '<center><p><a href="">Retour</a></p></center>';
    }  
    
?>




Bonne programmation !
dimanche 30 octobre 2011 à 14:27:50 | Re : Protéger son site contre les \' et \"

cod57

Réponse acceptée !
je reposte une boulette dans le code précédent
un \' qui doit etre un "
excuses donc :
Code PHP :
<!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>

<body>
    
    <center><h1>Récupération d'un texte dans un *.txt</h1></center>
    
    <div id="container">
        <?php
        
            $chemin = 'texte.txt';
              
              if(file_exists($chemin) && $lignes=file($chemin)){
                       
                foreach ($lignes as $ligne){
                echo '<p>'.$ligne.'</p>';
                }
              
              }else{
              $handle = fopen($chemin,'w+');
              fclose($handle);
              }
        ?>
    </div>
    
    <center><h1>Modification d'un texte dans un .txt</h1></center>
    
    <div id="container">
            
<?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 '<br><br>';
        echo '<input type="submit" id="bouton" value="Modifier le texte"></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><span id="success">Message modifié avec succés</span></center>';
        echo '<center><p><a href="">Retour</a></p></center>';
    }  
    
?>

    </div>

</body>

</html>


Bonne programmation !
dimanche 30 octobre 2011 à 15:26:41 | Re : Protéger son site contre les \' et \"

greg63

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.
dimanche 30 octobre 2011 à 15:37:33 | Re : Protéger son site contre les \' et \"

NHenry

Membre Club Administrateur CodeS-SourceS
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.

---------------------------------------------------------------------
  1. Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien
  2. Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
  3. 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.

---
Mon site


Cette discussion est classée dans : script, code, php, txt, echo


Répondre à ce message

Sujets en rapport avec ce message

2 formulaire en conflit [ par scromania ] bonjour, Voila dans la cas ou l'utilisateur et de niveau =9 alors une page (include)et en plus. [code=php]if ($visiteur == 9){ include("modules/Page Incerer un "echo" dans un "include" en php ???????, [ par jbtv ] Boujour a tous ! Je rencontre actuellement un problème et j'aurai besoin de votre aide , voila je voudrai incérer [code=php][/code] dans [code= faire un lien javascript:pop dans un echo php [ par jbtv ] bonsoir a tousss !!!! je voudrai savoir comment posé un liens javascript dans un echo php voila le script de base dans les head de la page j'ai Problème de sécurité session [ par mailliam ] Bheu.. n'aurais-je pas compris qque chose au sujet des sessions [^^confus2] j'ai un formulaire de connexion qui envoie la variable $user à mon script Options pour formulaire de contact Php [ par paikan06 ] Bonjour à tous ! Je suis admin réseau de formation et je me lance tout doucement dans le php ([^^sad2]pas très simple !!) Je viens de créer un formula Inscription. [ par fogamir ] Bonjour voila j essaye de m'inscrire sur mon site mais sa ne va pas je sais pas si sa viens lors de la connection a la base de donnée ou alors mon cod conversion d'un script js à php [ par pyranhaz ] Salut,comment convertir ce script javascript en php ???ID=window.setTimeout("window.location='htt Rien ne rentre dans ma base... [ par dchevalier ] Bonjour,J'utilise Easy PHP et Dreamweaver MX 2004.J'ai crée un formulaire pour rentrer les coordonnées de mes clients dans une base. Ma requête d'inse modifier le script PHP a partir d'une commande POST [ par gayann1 ] Salut,je cherche a modifier un script d'une page php a partir de mon espace administrateur!je veu pouvoir ouvrir un ficher "/clients/XXX/index.php"mod indentification et connexion grâce à un formulaire [ par auremy ] Bonjour,J'ai crée un formulaire html qui permet à l'utilisateur de saisir son login et son mot de passe. La validation envoye ses informations à une p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales