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 :

Script pour tout recevoir


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut Script pour tout recevoir
    Bonjour.

    Je dois réaliser pour un client un script capable de tout recevoir et d'enregistrer les données dans une base et/ou un fichier. Je détaille un peu plus : Ce client a souscri un service de téléphonie & SMS et cette plate-forme envoit des informations sur notre script. Comme je ne connais pas pour l'instant le type et la structure des données que cette plate-forme doit nous envoyer, je dois réaliser un script capable de recevoir et traîter tous types de données : $_POST, $_GET, $_FILES, etc... Et il faut que je sauvegarde ces informations dans une base de données MySQL et/ou des fichiers pour pouvoir prochainement les analyser.

    Alors mes questions du moment sont les suivantes :
    • Comment envisageriez-vous le fonctionnement d'un tel script ?
    • Auriez-vous des idées pour optimiser son fonctionnement & simplifier le code ?
    • Y-a-t-il des failles de sécurité à tout accepter comme ça ?

    Merci à ceux et celles qui prendront le temps de m'aider. C'est plutôt urgent.
    Cordialement, SubØ

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 714
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 714
    Par défaut
    si j'ai bien compris c'est juste un script temporaire le temps de comprendre ce qui est envoyé au script ?
    si c'est ça, il suffit de tout enregistrer avec la fonction "print_r" par exemple donc le seul problème qu'il peut y avoir c'est la place que va prendre toutes ces informations

  3. #3
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par mathieu Voir le message
    si j'ai bien compris c'est juste un script temporaire le temps de comprendre ce qui est envoyé au script ?
    Exactement. Pour l'instant, je ne sais pas si il s'agit de données postées, de paramètres dans l'url, d'un fichier... mais peu importe, il est vraiment important que je récupère toutes les informations qui me seront envoyées, au moins le temps de réaliser un script plus adapté.

    Citation Envoyé par mathieu Voir le message
    si c'est ça, il suffit de tout enregistrer avec la fonction "print_r" par exemple
    Je ne vois pas comment il est possible de tout récupérer juste avec cette fonction, j'ai du mal à comprendre.

    Citation Envoyé par mathieu Voir le message
    le seul problème qu'il peut y avoir c'est la place que va prendre toutes ces informations
    J'envisageais de stocker ces données dans un fichier plus que dans une bdd. Pour chaque envoi par la plate-forme, je crée un fichier contenant les données envoyées. Je peux ainsi obtenir en plus la date et l'heure de cet envoi avec la date du fichier... Et puis chaque jour, je peux récupérer ces fichiers pour libérer l'espace sur le serveur. Qu'en penses-tu ?

  4. #4
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    Quelle elle la masse de donnee ?
    1meg/jour ? /heure ? /min ?

  5. #5
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Citation Envoyé par Zwiter Voir le message
    Quelle elle la masse de donnee ?
    1meg/jour ? /heure ? /min ?
    je dirais 1meg/jour...

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 714
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 714
    Par défaut
    Citation Envoyé par Sub0 Voir le message
    je dirais 1meg/jour...
    dans ce cas même une petite base de données MySQL mutualisée pourrait supporter le stockage pendant 15 jours. et si ça dure plus longtemps, tu peux récupérer le contenu de la base une fois par semaine pour alléger la base
    autre avantage de la base de données : tu peux stocker chaque information séparément et si par exemple, tu remarques que les informations utiles sont dans $_POST, tu peux rapidement supprimer les colonnes qui contiennent des informations inutiles
    tu peux aussi enregistrer la date dans une colonne

    Citation Envoyé par Sub0 Voir le message
    Je ne vois pas comment il est possible de tout récupérer juste avec cette fonction, j'ai du mal à comprendre.
    avec print_r il y a un argument pour mettre le résultat dans une chaine de caractères

    voilà un exemple en PHP4 avec la bibliothèque "mysql", si tu as PHP5 avec la bibliothèque "mysqli" ça peut donner du code plus joli

    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
    40
    41
    42
    43
    44
    $informations = array(
        // nom de la colonne de la BDD => nom de la variable à enregistrer
        'entetes_http' => 'entetes_http',
        'post_brut' => 'HTTP_RAW_POST_DATA',
        'post' => '_POST',
        'get' => '_GET',
        'fichiers' => '_FILES',
        'server' => '_SERVER',
    );
     
    $entetes_http = getallheaders();
     
    // enregistrement des resultats
     
    $liste_resultats = array();
     
    foreach ($informations as $nom_colonne => $variable) {
        global $$variable;
     
        $liste_resultats[$nom_colonne] = print_r($$variable, TRUE);
    }
     
    $liste_resultats['date'] = time();
     
    // construction de la requête
     
    $connexion = mysql_connect('serveur', 'nom_utilisateur', 'mot_de_passe') or exit(mysql_error());
    mysql_select_db('bdd', $connexion) or exit(mysql_error());
     
    $liste_colonne = array();
    $liste_valeurs = array();
     
    foreach ($liste_resultats as $nom_colonne => $valeur) {
        $liste_colonne[] = "`$nom_colonne`";
        $liste_valeurs[] = '\'' . mysql_real_escape_string($valeur, $connexion) . '\'';
    }
     
    $colonnes_requete = implode(', ', $liste_colonnes);
    $valeurs_requete = implode(', ', $liste_valeurs);
     
     
    $requete = "INSERT INTO `table` ($colonnes_requete) VALUES ($valeurs_requete)";
     
    mysql_query($requete, $connexion) or exit(mysql_error() . "<br/>$requete");

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/10/2011, 00h30
  2. script pour repertorier toutes les tables d'une base de données ?
    Par delphino7 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/06/2011, 14h32
  3. Script pour créer un fond d'écran en toute simplicité
    Par Olivier Regnier dans le forum Linux
    Réponses: 5
    Dernier message: 30/11/2006, 12h45
  4. Cherche un script pour extraire toutes les URLs
    Par Athary dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/08/2006, 18h44
  5. Réponses: 4
    Dernier message: 07/07/2006, 13h41

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