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

Langage PHP Discussion :

Quelle est la meilleure pratique pour empêcher l'injection de codes viraux [PHP 5.3]


Sujet :

Langage PHP

  1. #21
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par aspkiddy Voir le message
    Exemple : Utilisateur entre dans input : [Je m'appelle André]
    Ensuite tu dois enregistrer dans ta base UTF-8 mysql_real_escape_string("Je m'appelle André") puis à l'affichage en UTF-8 tu dois faire : htmlspecialchars($valeurSortieDeTaBase, ENT_QUOTES);C'est tout.
    Si tu utilises PDO, c'est pareil vu que tu dois préparer ta requête et lui lier le paramètre : "Je m'appelle André". La préparation et le binding des paramètres sécurisent automatiquement ton sql.

    Enfin pour récupérer tes valeurs tu peux toujours faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $a = ""Je m& #39;appelle André""; // le (& #39;) sans espace au milieu
    $b = rawurldecode($a);   // Je m'appelle André

  2. #22
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    La norme actuelle est plutôt de travailler en utf-8 mais dans ce cas il faut ajouter une requête mysql avant de récupérer tes données pour indiquer à la bdd que tu travailles en utf-8.
    As-tu fais cette étape qui est indiquée dans les tutos ?

    Si oui, juste après la connexion à la base tu dois donc avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES 'utf8'");
    ou mieux avec PHP 5 >= 5.2.3 et MySQL version 5.0.7 ou supérieure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_set_charset('utf8');

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    (...) mais tu n'as aucune assurance quant à sa "propreté" dans le monde base de données. A chaque niveau tu as généralement à ta disposition des nettoyeurs qui annihilent la dangerosité d'une valeur au sens global.
    (...)
    OK je suis d'accord, mais alors que faire lorsque quelqu'un écrit*: je m'appelle André?
    Je ne peux afficher dans un autre écran que comme celui-ci "Je m& # 39;appelle André" au nom de la sécurité ?
    Que faire?

  4. #24
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par aspkiddy Voir le message
    OK je suis d'accord, mais alors que faire lorsque quelqu'un écrit*: je m'appelle André?
    Je ne peux afficher dans un autre écran que comme celui-ci "Je m& # 39;appelle André" au nom de la sécurité ?
    Que faire?
    si il écrit : je m'appelle André?
    dans ta requête SQL c'est : je m\'appelle André?
    dans la base c'est : je m'appelle André?
    a l'affichage HTML source : Je m& # 39;appelle André
    rendu visuelle : je m'appelle André?

  5. #25
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    si il écrit : je m'appelle André?
    dans ta requête SQL c'est : je m\'appelle André?
    dans la base c'est : je m'appelle André?
    a l'affichage HTML source : Je m& # 39;appelle André
    rendu visuelle : je m'appelle André?
    Non en fait c'est comme cela :

    i il écrit : je m'appelle André
    dans ma requête SQL c'est :
    • $prenom = filter_input(INPUT_POST, 'prenom', FILTER_SANITIZE_STRING);
    • $prenom= stripslashes($prenom);
    • $prenom = strip_tags($prenom);
    • $prenom = mysql_real_escape_string($prenom);
    • $query = "INSERT INTO $table_db (bd_prenom)"; //etc

    dans la base c'est : Je m & # 39;appelle André (en fait les caractères suivantes sont sans espace m & # 39;)!!!
    a l'affichage HTML source : comme dans la base : Je m & # 39;appelle André (en fait les caractères suivantes sont sans espace m & # 39!!!
    rendu visuelle est aussi : Je m & # 39;appelle André

  6. #26
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    c'est pas bon, t'as pas a faire de stripslashes, ni de strip_tags d’ailleurs (et ni filter_input), dans la base les donnée doivent être exactement pareil que l'entré

    regarde tes magic_quotes http://php.net/manual/fr/security.magicquotes.php

  7. #27
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Je ne comprends plus stealth35

    Voici mon code d'enregistrement de donnés dans la BDD que j'ai fait selon vos (toi et les autres experts) commentaires... Est ce que ce n'est pas correct ?

    Citation Envoyé par aspkiddy Voir le message
    Bonjour Benjamin,

    Super merci pour tes commentaire...


    voila je suis au 2e étape :
    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
    <?php
    //connection au serveur
    include"/config/db/connection.php";
    	//sélection de la base de données et table
    include"/config/db/selection.php";
     
    // Utiliser filter_input à la place
    								//$prenom=$_POST["prenom"];
    $prenom = filter_input(INPUT_POST, 'prenom', FILTER_SANITIZE_STRING); //// voir les filtres http://www.php.net/manual/fr/filter.filters.php [Filtres de nettoyage]
     
    // strip_slashes + strip_tags + mysql_real_escape_string c'est mieux
    								//$prenom= htmlspecialchars($prenom, ENT_QUOTES);//  Pour traiter les accents et suprimer les code html :
    $prenom= stripslashes($prenom); //Supprime les antislashs d'une chaîne et aussi les balises (exemple <strong>)
    $prenom = strip_tags($prenom); // Supprime les balises (code)
     
    $prenom = mysql_real_escape_string($prenom); //évite les injections SQL en protègeant les caractères spéciaux d'une commande SQL
     
    $query = "INSERT INTO $table_db (colone_prenom)";
    $query .= "VALUES ('$prenom')";
     
    $result = mysql_query($query, $cnx) or die (mysql_error());
     
    ?>
    Est-ce que cette procédure est correcte et suffisante AU 2. ÉTAPE?
    Il ne faut pas faire de stripslashes ? ni de strip_tags ? ni filter_input ?

  8. #28
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 241
    Points
    20 241
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    c'est pas bon, t'as pas a faire de stripslashes, ni de strip_tags d’ailleurs (et ni filter_input), dans la base les donnée doivent être exactement pareil que l'entré

    regarde tes magic_quotes http://php.net/manual/fr/security.magicquotes.php
    Pas d'accord sur les filter_input. Tu dois forcément valider et donc filtrer tes données en entrée. Certes on insère des données brutes dans la bases mais on va pas insérer des données innexploitables (filter_input servant aussi à valider et pas que nettoyer).

  9. #29
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    stripslashes non, le reste c'est selon le besoin, si quelque marque
    truc <machin> truc, ça va rendre, truc truc

    t'as vérifie tes margic_quotes ?

    pour faire simple en sécurité t'as deux chose :

    - les injections SQL
    - les XSS

    pour éviter les injections faire mysql_real_escape_string sur tes données au niveau de ta requte

    pour évité les XSS, convertir les entités HTML (< " & ...) avec htmlspecialchars

    et c'est tout,
    tout le reste c'est suivant ton besoin :

    est ce que je garde les balises ? (strip_tags)
    est ce que je clean les entrés de caractères non voulu ? (filter)
    est que je supprime les blancs ? (trim)

  10. #30
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par grunk Voir le message
    Pas d'accord sur les filter_input. Tu dois forcément valider et donc filtrer tes données en entrée. Certes on insère des données brutes dans la bases mais on va pas insérer des données innexploitables (filter_input servant aussi à valider et pas que nettoyer).
    si je veux tout gardé ? des données binaire brute par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $str = 'truc <machin> truc';
    var_dump($str);
    var_dump(filter_var($str, FILTER_SANITIZE_STRING));
     
    /*
    string(18) "truc <machin> truc"
    string(10) "truc  truc"
    */
    EDIT : et si je veux faire un petit smiley : :-\,
    le stripslashes me le casse : :-

  11. #31
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Merci Grunk et stealth35...

    En fait, je n'ai pas de problème avec mon fichier qui enregistre les données...
    Avec le filtre et stripslashes + strip_tags + mysql_real_escape_string, j'ai un formulaire pas mal sécurisé (au 1er étape)...

    Ma difficulté vient de l'affichage de données sur une page...

    avec le code suivant, j'arrive afficher comme je veux (je m'appelle André)
    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
    // afficahge les accents
    header('Content-Type: text/html; charset=UTF-8');
     
    //connection au serveur
    include"/config/db/connection.php";
    //sélection de la base de données et table
    include"/config/db/selection.php";
     
    $req=  " select colone_prenom FROM $table_db  ";
    $rep =  mysql_query($req, $cnx) or die( mysql_error() ) ;
    while($row=mysql_fetch_row($rep))
    	{
     
    	$prenom_engregistre=$row[0]; 
     
    	echo "$prenom_engregistre" ;
    	echo "\n";
    	echo " ; ";
     
    	}
    Par contre lorsque j'ajoute la fonction htmlspecialchars dans mon code il y a un problème : l'affichage est comme cela (Je m & # 39;appelle André (en fait, les caractères suivants sont sans espace m & # 39!!!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $req=  " select colone_prenom FROM $table_db  ";
    $rep =  mysql_query($req, $cnx) or die( mysql_error() ) ;
    while($row=mysql_fetch_row($rep))
    	{
     
    	//$prenom_engregistre=$row[0];
    	$prenom_engregistre= htmlspecialchars($row[0], ENT_QUOTES); 
     
    	echo "$prenom_engregistre" ;
    	echo "\n";
    	echo " ; ";
     
    	}

  12. #32
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    dans la source HTML ou dans la page ?

  13. #33
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    dans la source HTML ou dans la page ?
    dans la source HTML : Je m&amp;#39;appelle André
    dans la page : Je m & # 3 9 ; appelle André (les caractères suivantes sont sans espace : & # 3 9 ; )

  14. #34
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    tu fais deux fois un htmlspecialschars quelque part

  15. #35
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    A moi !! A moi !!

    bon alors, je crois qu' une donnée est une donnée et doit le rester, bref, on y touche pas, sauf pour la valider (j'attends un integer, je vérifie...) et pour la protéger (mysql_real_escape_string ou addslashes)
    Je ne vois vraiment pas ce que le SGBD peut craindre d'autre...
    A partir de là, la donnée est réutilisable. (vive interopérabilité !!)

    après lorsque tu récupères cette donnée avec PHP, tu as 2 cas de figure :

    - l'exploitation de la donnée (exemple : valeur par défaut d'un input, passage en paramètre vers une méthode). Dans ce cas, il suffit de retirer les éventuels slashs de protection émanant du SGBD (stripslashes)

    - l'affichage de la donnée dans la page : et c'est là qu'on commence à parler de modifier la donnée, exemple : on ne veut pas qu'une bride de javascript saisie par un utilisateur s’exécute. il faut donc transformer la chaîne de caractères pour virer les entités HTML (strip_tag, htmlspecialchars) . une fois cette manipulation réalisée, c'est se prendre la tête que de vouloir la réutiliser tel quelle, elle ne doit servir qu'à des fins d'affichage, elle devient par définition immuable.



  16. #36
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    tu fais deux fois un htmlspecialschars quelque part
    Non en fait, dans mon fichier d'enregistrement de données il y a la fonction "stripslashes"

    dans mon fichier d'affichage de donnés de ma basse de données, il y a la fonction "htmlspecialchars"

    A mon avis, si je supprime cette dernière fonction (htmlspecialchars) mon fichier d'affichage serait toujours sécurisé parce que l'information ne vient que de mon BDD, elle a été enregistrée par mon fichier d'enregistrement de données avec les fonctions (stripslashes ; strip_tags ; mysql_real_escape_string), filtre (filter_input)

  17. #37
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par ska_root Voir le message
    (...)
    après lorsque tu récupères cette donnée avec PHP, tu as 2 cas de figure :

    - l'exploitation de la donnée (exemple : valeur par défaut d'un input, passage en paramètre vers une méthode). Dans ce cas, il suffit de retirer les éventuels slashs de protection émanant du SGBD (stripslashes)

    (...)
    Dans ce cas-là, je peux supprimé ma fonction htmlspecialchars, n'est ce pas?




    Citation Envoyé par ska_root Voir le message
    (...)
    - l'affichage de la donnée dans la page : et c'est là qu'on commence à parler de modifier la donnée, exemple : on ne veut pas qu'une bride de javascript saisie par un utilisateur s’exécute. il faut donc transformer la chaîne de caractères pour virer les entités HTML (strip_tag, htmlspecialchars) . une fois cette manipulation réalisée, c'est se prendre la tête que de vouloir la réutiliser tel quelle, elle ne doit servir qu'à des fins d'affichage, elle devient par définition immuable.
    si la donnée vient de ma BDD...
    Si mon fichier ne contient qu'une requête... sans input, ni post (ou get) etc... comment on peut brider de javascripts sans passer la BDD ? alors dans ce cas là aussi on peut supprimé ma fonction htmlspecialchars, n'est ce pas?

  18. #38
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    CHAQUE CAS A SA SPÉCIFICITÉ... LE MIEN, DANS CE CONTEXTE, EST SIMPLE
    Voici le résumé de mon cas...
    Un formulaire SIMPLE*:
    http://www.monsite.com/index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <body>
    <form method="post" action="engregistrement.php">
    <input name="prenom" type="text" id="prenom" />
    </form>
    </body>
    L'information sera enregistrée par un autre fichier (engregistrement.php)*:
    -Avec un filtre (filter_input)
    -Avec la fonction stripslashes
    -Avec la fonction strip_tags
    -par mysql_real_escape_string
    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
     
    header('Content-Type: text/html; charset=UTF-8');
     
    //connection au serveur
    include"/config/db/connection.php";
    	//sélection de la base de données et table
    include"/config/db/selection.php";
     
    // Utiliser filter_input à la place
    								//$prenom=$_POST["prenom"];
    $prenom = filter_input(INPUT_POST, 'prenom', FILTER_SANITIZE_STRING); //// voir les filtres http://www.php.net/manual/fr/filter.filters.php [Filtres de nettoyage]
     
    if (!empty($prenom))
     
    	{	
     
     
    // strip_slashes + strip_tags + mysql_real_escape_string c'est mieux
    								//$prenom= htmlspecialchars($prenom, ENT_QUOTES);//  Pour traiter les accents et suprimer les code html*:
    $prenom= stripslashes($prenom); //Supprime les antislashs d'une chaîne et aussi les balises (exemple <strong>)
    $prenom = strip_tags($prenom); // Supprime les balises (code)
     
    $prenom = mysql_real_escape_string($prenom); //évite les injections SQL en protègeant les caractères spéciaux d'une commande SQL
     
    $query = "INSERT INTO $table_db (colone_prenom)";
    $query .= "VALUES ('$prenom')";
     
    $result = mysql_query($query, $cnx) or die (mysql_error());
    }
     
     
    else
    {
    	 echo "Vous n'avez pas d'autorisation";
     
    }
     
    ?>
    Alors, tout va bien pour l'enregistrement de données dans la BDD.
    Même si on peut savoir le lien de ce formulaire (http://www.monsite.com/engregistrement.php), on ne peut rien faire (? Est-ce que c'est vrai ?)

    Du coup, ma BDD est "propre" (sans antislashs, sans code, etc.)

    Dans un autre (3e fichier [voir.php]) Il n'y a que ma requête pour visualiser les informations qui sont dans ma BDD (alors, il n'y a pas POST (NI GET) dans ce fichier)*:
    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
     
    <?php
    // afficahge les accents
    header('Content-Type: text/html; charset=UTF-8');
     
    //connection au serveur
    include"/config/db/connection.php";
    //sélection de la base de données et table
    include"/config/db/selection.php";
    $req=  " select colone_prenom FROM $table_db  ";
    $rep =  mysql_query($req, $cnx) or die( mysql_error() ) ;
    while($row=mysql_fetch_row($rep))
    	{
     
    	$prenom_engregistre=$row[0];
    	//$prenom_engregistre= htmlspecialchars($row[0], ENT_QUOTES); 
     
    	echo "$prenom_engregistre" ;
    	echo "\n";
    	echo " ; ";
     
    	}
    ?>

  19. #39
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Bonjour,

    Je pense que j'ai terminé ainsi l"étape 1
    Une fois que mon formulaire est sécurisé comme ci-dessus, il faut utiliser un certificat de SSL...
    Après il faut aussi protéger contre les attaques les failles CSRF... en utilisant un jeton/token...


    Citation Envoyé par grunk Voir le message
    (...)
    Il faut également te protéger de ce que l'on appelle les failles CSRF (cross site request forgery ) qui consiste à venir attaquer une partie du site (un formualire dans ton cas) avec un autre site. Voici : http://fr.wikipedia.org/wiki/Cross-site_request_forgery pour plus de détail
    Par contre, dans mon cas, je me demande si je peux utiliser un jeton puisqu'il s'agit d'un formulaire simple : l'utilisateur arrive au formulaire sans ouvrir une session (donc, l'utilisateur a l'accès au formulaire sans mot de passe)...

  20. #40
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par aspkiddy Voir le message
    Bonjour,

    Je pense que j'ai terminé ainsi l"étape 1
    Une fois que mon formulaire est sécurisé comme ci-dessus, il faut utiliser un certificat de SSL...
    Après il faut aussi protéger contre les attaques les failles CSRF... en utilisant un jeton/token...
    Par contre, dans mon cas, je me demande si je peux utiliser un jeton puisqu'il s'agit d'un formulaire simple : l'utilisateur arrive au formulaire sans ouvrir une session (donc, l'utilisateur a l'accès au formulaire sans mot de passe)...
    Puisque personne ne répond alors je vais fermer cette discussion et je vais ouvrir un outre sur "jeton/token"

    Merci pour vos participations... c'était très utile pour moi

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Quelle est la meilleure solution pour créer des Web Services?
    Par Flipmode dans le forum Services Web
    Réponses: 1
    Dernier message: 26/04/2007, 15h12
  2. Quelle est la meilleur dsitrib. pour le wifi?
    Par jff_caen32 dans le forum Distributions
    Réponses: 1
    Dernier message: 23/03/2007, 12h21
  3. Réponses: 2
    Dernier message: 05/02/2007, 08h51
  4. Réponses: 5
    Dernier message: 17/08/2006, 10h10
  5. Réponses: 20
    Dernier message: 27/06/2006, 17h42

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