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 :

Sécurité avant de faire un INSERT


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Août 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2003
    Messages : 111
    Par défaut Sécurité avant de faire un INSERT
    J'ai un formulaire dont je veux ecrire les résultat dans ma base. Jusque là rien d'extrordinaire me direz vous...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = "INSERT INTO commandes(date_command,tarif,date_depart,heure_depart,adresse_depart,ville_depart,adresse_arrivee,ville_arrivee,nb_personne,commentaire) VALUES('$date_command','$prix_valid','$date_valid','$heure_valid','$adresse_depart','$ville_depart','$adresse_arrivee',
    '$ville_arrivee','$nb_valid','$commentaire')";
     
     
        // on insère les informations du formulaire dans la table
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    Le problème c'est que je ne veux pas qu'on puisse y rentrer n'importe quoi (code, injection SQL, ou simplement une apostrophe simple...).

    Mes recherches dans mon bouquin et sur le net sont assez contradictoires.

    Chacun y va de son conseil qui démonte celui de l'autre.

    Donc selon vous, quels serait la meilleur façon, aujourd'hui de securiser mon code ?

  2. #2
    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
    J'aimerais bien savoir ce que tu as pu trouver comme information contradictoires.

    Il est recommandé d'utiliser PDO ou myslqi et des requêtes préparées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par défaut
    Comme sabotage, je n'ai pas lu non plus d'informations contradictoires... ?

    Avec ton code actuel tu devrais utiliser "mysql_real_escape_string" sur chacune de tes variables. L'information sur les injection se trouve justement dans la doc de la fonction.

    En bref il faut toujours protéger ses variables (ici dans la clause "values"). Pour les requêtes non préparées on utilise les fonctions "mysql_real_escape_string" avec mysql, "mysqli_real_escape_string" avec mysqli, et la fonction "quote" avec pdo.

    Avec mysqli ou pdo, une autre façon de protéger encore plus efficacement les variables est d'utiliser les requêtes préparées. Dans ce cas on utilise aucune des fonctions précédemment citées car c'est le processus de la préparation (abstraction) qui fait office de protection.

    Dans ton cas, étant donné que tu n'utilise pas de requête préparée (mysql ne les supporte pas nativement), et que tu n'utilise pour l'instant aucune fonction pour protéger tes variables, ta requête en l'état n'est pas sécurisée.

    Pour le reste tu peux constater qu'on déconseille d'utiliser l'extension mysql pour les nouveaux projets. Il vaut donc mieux choisir mysqli ou pdo.

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Par défaut
    Tu peux aussi utiliser le pour protéger tes variables.
    Si tu as une version PHP 5.5.0 alors la fonction "mysqli_real_escape_string" ne te servira pas à grande chose car obsolète.
    La solution idéale comme l'a écrit Sabotage et ABCIWEB c'est de passer à PDO ou Mysqli.

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par moudjahidine Voir le message
    Tu peux aussi utiliser htmlentities pour protéger tes variables.
    htmlentities() ne doit pas être utiliser pour une protection contre l'injection, donc on ne l'utilise pas sur des données à insérer dans une table.
    Par contre il peut-être utilisé pour une protection XSS, donc pour un affichage après avoir récupéré les données de la table.

    mysqli_real_escape_string n'est pas obsolète.
    mysql_real_escape_string est obsolète, ce qui signifie qu'il fonctionne encore ! mais dans le futur

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par défaut
    +1 pour confirmer qu'on utilise pas htmlentities pour protéger des variables lors de l'insertion dans une bdd. En faisant ainsi on rend impropre l'exportation des données sans traitement préalable, on rend impossible la recherche insensible aux caractères accentués, et on encombre la table avec des caractères inutiles.

    htmlentities ne doit être utilisé que lors de l'affichage, typiquement dans un echo.

  7. #7
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Par défaut
    Pouf quelle bourbe!. C'est effectivement mysql_real_escape_string qui est obsolète et non mysqli_real_escape_string.
    Voici une petite fonction qu'on trouve dans beaucoup de tuto qui peut faire l'affaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function sanitize_string($str) {
    	if (get_magic_quotes_gpc()) {
    		$sanitize = mysqli_real_escape_string(stripslashes($str));	 
    	} else {
    		$sanitize = mysqli_real_escape_string($str);	
    	} 
    	return $sanitize;
    }

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par défaut
    Non tel quel ça peut pas faire l'affaire. En effet mysqli_real_escape_string demande l'identifiant de connexion comme premier paramètre. On pourrait faire un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function sanitize_bdd ($link, $chaine)
    {
    return get_magic_quotes_gpc()? mysqli_real_escape_string($link,stripslashes($chaine)) : mysqli_real_escape_string($link,$chaine);
    } 
     
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");
     
    $city = "'s Hertogenbosch";
    $city = sanitize_bdd($link,$city);
     
    //on peut maintenant utiliser $city dans une requête
    //...
    Cela dit, il n'y a plus d'intérêt de vérifier get_magic_quotes_gpc depuis php5.4 (retourne toujours false)

  9. #9
    Membre averti Avatar de youlikeit
    Homme Profil pro
    Indépendant
    Inscrit en
    Octobre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 36
    Par défaut Il faut vous mettre d'accord !
    Le but du forum est de venir puiser des réponses, il n'y a pas que l'émetteur de la question qui scrute les réponses mais tout un tas de gens comme moi qui naviguons pour glaner ci et là une réponse à une foultitude de questions, finalement "Cheorches" a posé une question le 21/11 et en 10 jours, n'a pas pu progresser, nous non plus d'ailleurs, qui plus est, il n'est pas réapparu !

    pour ma part j'ai parcouru le forum de 2003 à nos jours, et je vois toujours pas la réponse mon interrogation à part plein de termes non expliqués et plein de code à revendre plus ou moins obsolètes selon certains.

    Ma question est simple :

    je suis dans un post et envoie un texte d'un champ textarea appelé ici "descro" contenant un apostrophe genre : l'eau

    je récupère les données de mon post dans une page php ou je vérifie que le champ est rempli

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
     
    // On commence par récupérer les champs du formulaire
    $titre = isset($_POST['titre']) ? $_POST['titre'] : '';
    $url = isset($_POST['url']) ? $_POST['url'] : '';
    $descro = isset($_POST['descro']) ? $_POST['descro'] : '';
    ensuite après vérif je me connecte à la base pour lui envoyer les données du formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // on écrit la requête sql  
        $sql = "INSERT INTO sites (titre, url, descro) VALUES('$titre', '$url', '$descro')";
    J'ai bien compris qu'il convenait d'utiliser le addslashes, mais où l'insérer très exactement ? je vois pas bien avec le isset cela ne fait pas bon ménage, question de parenthèses probablement !

    Quelqu'un pourrait-il juste faire un post intelligible qui serve immédiatement mais aussi aux milliers de visiteurs qui dans le futur chercheront la réponse à cette question somme toute banale pour des gens éclairés !


  10. #10
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Bonjour,
    c'est simplement en fonction de ton driver

    mysqli : (voir mysql)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mysqli_real_escape_string($str)
    $sql = "INSERT INTO sites (titre, url, descro) VALUES(
      '".mysqli_real_escape_string($titre)."', 
      '".mysqli_real_escape_string($url)."', 
      '".mysqli_real_escape_string($descro)."')";
    mysqli::query ($sql);
    pdo, plus de choix :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "INSERT INTO sites (titre, url, descro) VALUES( ?, ?, ? )";
    $pdo->prepare(  $sql );
    pdo_st->execute(  array($titre,$url,$descro) );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = "INSERT INTO sites (titre, url, descro) VALUES( ?, ?, ? )";
    $pdo->prepare(  $sql );
    $pdo_st->bindParam(1, $titre);
    $pdo_st->bindParam(2, $url);
    $pdo_st->bindParam(3, $descro);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = "INSERT INTO sites (titre, url, descro) VALUES(
      ".PDO::quote($titre)."', 
      ".PDO::quote($url).", 
      ".PDO::quote($descro).")";
    $pdo->query(  $sql );
    Avec ses codes, je formate ma data au format sql (pas de simple cote) ET en plus je protège contre pirates (injection sql)
    ------------------------------------------------------------
    J'ai bien compris qu'il convenait d'utiliser le addslashes,
    Justement c'est fini ca ! juste xxx_escape_string() ou pdo::quote()

  11. #11
    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
    [quote]"Cheorches" a posé une question le 21/11 et en 10 jours, n'a pas pu progresser, nous non plus d'ailleurs, qui plus est, il n'est pas réapparu ![QUOTE]
    La réponse lui a été donné le jour même.

    pour ma part j'ai parcouru le forum de 2003 à nos jours, et je vois toujours pas la réponse mon interrogation à part plein de termes non expliqués et plein de code à revendre plus ou moins obsolètes selon certains.
    Forcemment, PHP a changé en 10 ans et les réponses de 2003 ne sont plus valables en 2013.
    Pour les termes non expliquées, il tient aux personnes de se documenter également par rapport aux réponses qui leur sont données.
    Beaucoup de personnes n'ont besoin que d'une piste et beaucoup de thêmes, comme celui-ci sont déjà traités très largement sur le forum et dans les tutoriels
    http://fmaz.developpez.com/tutoriels...rendre-pdo/#LI

    mais aussi aux milliers de visiteurs qui dans le futur chercheront la réponse
    Même remarque qu'avant, les réponses ne sont pas éternelles.
    Actuellement, comme je l'ai déjà dit dans ce sujet, PHP recommande l'utilisation de PDO et des requêtes préparées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre averti Avatar de youlikeit
    Homme Profil pro
    Indépendant
    Inscrit en
    Octobre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 36
    Par défaut
    Salut papajoker voila une réponse comme je l'attendais,

    • ton erreur c'est çà.
    • tu peux faire comme cela.
    • il vaut mieux faire ainsi.
    • pourquoi.

    Là on peut se faire une opinion et progresser, désolé sabotage, mais c'est pas le tout de dire PDO est la réponse, cela n'apporte rien de concret, d'ailleurs il y a peut être une réflexion de fond sur la durée de vie des messages ! Effectivement en 10 ans il s'en passe des choses...

    D'ailleurs ce n'est pas propre à développez.com, tu prends Google il y a 10 ans c'était une bombe ! aujourd'hui si tu regardes bien c'est quasi une perte de temps , plus il y a d'internautes, plus il y a de messages, plus il y a d'indexation moins il y a de pertinence !

  13. #13
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par youlikeit Voir le message
    désolé sabotage, mais c'est pas le tout de dire PDO est la réponse, cela n'apporte rien de concret
    Bien sur que si, PDO est la réponse, en tant que pro, je peux te dire que l'extension mysql_ est oubliée depuis longtemps. Depuis déjà quelques années, seul les débutants et développeurs du dimanche l'utilise faute aux anciens tutos !
    Aujourd'hui, le débat c'est PDO ou un ORM, le reste c'est de la préhistoire!
    -----------------------
    perso, lorsque je fais une recherche, avec g**gle, je filtre mes recherches de développement web avec les dates "moins d'un an"

  14. #14
    Membre averti Avatar de youlikeit
    Homme Profil pro
    Indépendant
    Inscrit en
    Octobre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 36
    Par défaut
    Test 1 - MySQL

    extrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES('$titre', '$url', '".mysql_real_escape_string($descro)."',
    Cela fonctionne ! (pas avec mysqli)

    Je reviendrai sur les autres tests, faut que je les bouquines car j'ai essayé en 1er PDO mais je pense qu'il faut d'autres déclarations car en l'état cela ne fonctionne pas.

    Juste pour Sabotage, Php pour moi c'est un bouquin pour apprendre le chinois et écrit en allemand : problème je ne lis pas l'allemand ! , mais je tente de comprendre, PDO pourquoi pas, mais j'ai l'impression qu'il m'est nécessaire de connaître un peu plus php pour comprendre ce que peut m'apporter pdo !
    Maintenant si tu as un bouquin de vulgarisation à me conseiller, le genre de bouquin ou tu te dis waoh ! si j'avais eu çà à mes débuts c'eut été du billard !
    Je suis preneur, Noël approche !!

  15. #15
    Membre averti Avatar de youlikeit
    Homme Profil pro
    Indépendant
    Inscrit en
    Octobre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 36
    Par défaut
    Citation Envoyé par papajoker Voir le message
    seul les débutants et développeurs du dimanche l'utilise faute aux anciens tutos !
    Justement je débute ! même si je suis pas tout jeune !

    Ah il est loin le temps du minitel !

    Tu vas me demander c'est quoi le minitel ?

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    @youlikeit :
    demande à Harry Potter de te prêter sa baguette magique ; il ne s'en sert plus !
    ("non, Harry, ce n'est pas comme ça qu'on s'en sert !!")

    Je ne pense pas me tromper en supposant que toi aussi, tu as un cerveau.
    Qui t'empêche de t'en servir pour faire tes propres recherches, et te forger ta propre opinion ?

  17. #17
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    lol tu utilises mysql_real_escape_string() avec mysqli , de plus avec ton bout de code, sans voir avant et après, suis dans le brouillard.

    Le minitel a 48 ans, il me semble que je l'ai côtoyé quelques années (mais pas le rose^^).

    pour comprendre ce que peut m'apporter pdo !
    j'ai pas été clair je ne m'éclaire pas avec une lampe à pétrole et je ne cherche même pas a savoir ce que l'électricité apporte de plus

    edit:@jreaux62 sisi elle était belle ULA du 3615

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Le minitel a 48 ans, il me semble que je l'ai côtoyé quelques années (mais pas le rose^^)...
    Le Minitel rose, c'était comme regarder Canal+ le samedi soir en codé !

    D'ailleurs, à l'époque, les poupées gonflables étaient fabriquées avec... des briques Lego !

    [EDIT] (Boys only. Gay friendly !)
    Citation Envoyé par papajoker Voir le message
    edit:@jreaux62 sisi elle était belle ULLA du 3615
    Ah, Ulla ! D'ailleurs, elle manque...
    (même pas honte... )
    Dernière modification par Invité ; 04/12/2013 à 09h12.

  19. #19
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Pour résumer : tu évites l'extension mysql_.
    Les fonctions mysqli procédurales s'écrivent à peu près pareil que les fonctions mysql, donc il est possible de transposer les tutos mysql en tutos mysqli.

    A lire : Comprendre PDO

    Et un jour peut-être j'arriverais à me motiver (ou à motiver quelqu'un) pour réécrire le tuto de base des requêtes mysql (comme je dis que je vais le faire depuis à peu près 2 ans...)
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  20. #20
    Membre averti Avatar de youlikeit
    Homme Profil pro
    Indépendant
    Inscrit en
    Octobre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Indépendant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 36
    Par défaut
    Argghh ! J'ai l'impression d'un règlement de compte en bonne et due forme !!

    Bon, jreaux62, je vois dans ta réponse que informatique et philosophie ne font pas bon ménage, si je suis sur un forum c'est pour avoir les voix off, de la version papier ou web de ce que l'on peut consulter, quand papajoker m'écrit :

    Citation:
    moi: J'ai bien compris qu'il convenait d'utiliser le addslashes,
    papajoker:Justement c'est fini ca ! juste xxx_escape_string() ou pdo::quote()

    j'ai pris soin auparavant de rechercher l'info avec mes petits yeux et mon petit cerveau ( Ressources Informatiques, Ed. Eni AUTEUR Olivier ROLLET, 2ème édition Octobre 2013, page 226)

    Le problème ?.... il n'y a pas de problème !
    Seule l'interprétation de tout un chacun, on peut écrire la même page en php de plein de façons différentes, après c'est une question de choix personnel.



    J'aurais pu en coller une autre, mais en plus de me faire traiter de vieux dynosaure, on pourrait me traiter de vieux pervers !

    Au fait, il n'y a pas grande différence entre le minitel rose et un forum sur php, finalement en "48 ans" (dixit papajoker) - le principe n'a pas beaucoup évolué:

    téléopératrices > minitel rose (unités téléphoniques: FF)<visiteurs
    VS
    modérateurs>forum(internet (bannières, mailing list, : €, voir $ [Delaware!])<internautes


Discussions similaires

  1. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Langage SQL
    Réponses: 6
    Dernier message: 09/08/2006, 10h57
  2. Comment faire des inserts massivement et rapidement ?
    Par JYves dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 09/08/2006, 10h57
  3. Comment faire une insertion dans un fichier texte ?
    Par Isa31 dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2004, 09h06
  4. [C#] Faire un INSERT en même temps dans 2 bases differentes
    Par Pingva dans le forum Accès aux données
    Réponses: 8
    Dernier message: 09/09/2004, 12h07
  5. faire un insert pour un champ blob
    Par tripper.dim dans le forum InterBase
    Réponses: 10
    Dernier message: 02/05/2003, 16h56

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