IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Livre d'or et protection de base de données [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut Livre d'or et protection de base de données
    Bonjour
    je voudrais ajouter un livre d'or sur un site, je vais récupérer le message sous forme d'une chaine de caractere par un formulaire.
    Je voudrais faire une fonction "encode_chaine" qui prend une chaine et échappent tous les caracteres dangereux pour sql avant d'enregistrer le message dans la base. Puis une fonction "decode_chaine" qd je voudrais afficher les messages j'irais les chercher dans la base et passerai les chaines à la moulinette de decode_chaine avant de les afficher.

    Je pense utiliser ereg_replace pour faire tout ça.

    Donc dans la théorie je crois que j'ai bon, dans la pratique je sais pas comment faire
    1/ parce que je suis pas sure de savoir lister tous les caractères "dangeureux" pour sql (à part ; je sais pas trop à quoi d'autres il faut faire attention)

    2/ surtout parce que je connais pas le caractere d'échappement en sql

    il y a surement tonnes de fonctions déjà écrites qui font ça mais je préfère pas en prendre au pif vu que je suis pas tres douée en traitement de chaines de caracteres je préfère vos conseils plutot que de recoller une fonction que je ne comprends qu'à moitier

    J'attends votre aide
    merci d'avance
    ++
    Lisa

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    il y a surement tonnes de fonctions déjà écrites qui font ça
    Exactement.
    Avant d'insérer le msg dans la BdD : mysql_real_escape_string( ) (éventuellement un stripslashes( ) auparavant si les magic-quotes sont actives)
    Avant d'afficher le msg sur la page : htmlspecialchars( )
    C'est tout

    http://fr.php.net/mysql-real-escape-string
    http://fr.php.net/htmlspecialchars
    Magic-quotes : http://fr.php.net/manual/fr/security.magicquotes.php

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    En dehors de la protection de la chaine SQL, n'oublie pas de purger egalement ta chaine de toutes les balises (html et javascript).
    Il y a des robots qui passent 24/24 a essayer de placer des saloperies sur le moindre formulaire qu'ils trouvent.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut
    ok cool
    ça veut dire quoi les magic quotes ? et comment savoir si elles sont activées ? (je suis hébergée chez ovh, je fais mes tests en local avec easyphp)

    Je voudrais aussi qqchose qui me remplace les \n par des <br> tant qu'à faire ...
    c'est possible ?
    eidt : ça c'est bon j'ai trouvé nl2br

    merci beaucoup en tout cas !

    oui sabotage j'aimerais bien mais comment il faut faire ?

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par lisa.a Voir le message
    ça veut dire quoi les magic quotes ? et comment savoir si elles sont activées ? (je suis hébergée chez ovh, je fais mes tests en local avec easyphp)
    Lire la doc, j'ai donné le lien plus haut

    Je voudrais aussi qqchose qui me remplace les \n par des <br> tant qu'à faire ...
    c'est possible ?
    Oui lors de l'affichage avec nl2br( ) après le htmlspecialchars( ).
    http://fr.php.net/nl2br

  6. #6
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut
    ah oui zut désolée ... comme c'était en bas de ton message et que c'était des liens mes yeux ont filtré en pensant que c'était ta signature :p

    encore merci !
    je note ça comme résolu
    ceci dit si sabotage veut bien me dire comment faire je reste preneuse

  7. #7
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut
    oups, en fait j'ai un soucis
    mysql_real_escape_string me rajoute des\n et \r... et je ne sais pas comment les enlever au décodage
    help ?
    (désolée )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/12/2009, 07h19
  2. [VB.NET] livres sur vb.net et les bases de données access
    Par Herlece dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/04/2006, 21h30
  3. Livre gratuit sur les bases de données...
    Par benby dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/05/2005, 12h24
  4. Protection d'une base de donnée
    Par portu dans le forum Windows
    Réponses: 4
    Dernier message: 30/08/2004, 15h03
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo