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 :

Executer un script par une seule IP [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut Executer un script par une seule IP
    Bonjour,

    Voila, j'utilise un script pour générer automatiquement le sitemap de mon site. Le principe est d'utiliser l'adresse de la barre d'adresse et de la stocker dans une table.
    Le soucis est que quand par exemple un robots spam teste une url en y incluant une variable pour essayer d'y trouver une faille cette adresse est stockée alors qu'elle n'existe pas.
    Pour remédier à cela je voudrais que le code qui enregistre l'adresse dans la table ne s'execute que lorsque c'est mon IP qui le lance justement

    J'ai essayé

    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
    <?php
    $ip = .$_SERVER['REMOTE_ADDR'];
    $url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    if($ip == XXX.XXX.XXX.XXX){
     
    if($url_)
    {
      $q = " SELECT * FROM sitemap where url='$url_'";
      $r =@mysql_query($q, $mysql_link);
      $quant_r = @mysql_num_rows($r);
      if($quant_r >= 1)
      {
     
      $q_1 = " update sitemap set nb=nb+1 where url='$url_'";
      }
      else
      {
        $date_=date("Y-m-d",time());
        $q_1 = "INSERT INTO `sitemap` ( `id` , `url` , `date` ) VALUES ('', '$url_', '$date_' )";
      }
      $r_1 =@mysql_query($q_1, $mysql_link);
    }
     
    }
    ?>
    mais ca ne marche pas

    Quelqu'un aurait-il une idée de comment faire ?

    Merci

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Es-tu vraiment obligé de garder cette page sur ton site ?
    Je veux dire par là, tu ne peux pas tout simplement l'effacer après avoir fait ton sitemap ?

    Si tu as une UP dynamique ça risque d'être assez enuyeux pour régler ce problème...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    Je voudrais la garder sur le site oui car ça automatiserais le système du sitemap, ça m'éviterai de le refaire après avoir ajouté une page ou une news par exemple.

    Pour ce qui est de l'IP elle est fixe, c'est pour cela que j'ai pensé à ce système d'ailleurs

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    Double post pour vous signaler que j'ai finalement trouvé la réponse, en modifiant un poil le code et en mettant l'IP entre simple quote ça marche!
    Je laisse le code

    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
    if ($_SERVER['REMOTE_ADDR'] == 'XXX.XXX.XXX.XXX'){
    $url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
     
    if($url_)
    {
      $q = " SELECT * FROM sitemap where url='$url_'";
      $r =@mysql_query($q, $mysql_link);
      $quant_r = @mysql_num_rows($r);
      if($quant_r >= 1)
      {
     
      $q_1 = " update sitemap set nb=nb+1 where url='$url_'";
      }
      else
      {
        $date_=date("Y-m-d",time());
        $q_1 = "INSERT INTO `sitemap` ( `id` , `url` , `date` ) VALUES ('', '$url_', '$date_' )";
      }
      $r_1 =@mysql_query($q_1, $mysql_link);
    }
    }
    ?>

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

Discussions similaires

  1. [MooTools] Execution de script dans une page ajax généré par mootools
    Par gaet-gaet dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 26/09/2009, 12h28
  2. execution de script par crontab
    Par Z-fly dans le forum Administration système
    Réponses: 8
    Dernier message: 13/06/2008, 15h03
  3. Executer mon application qu' une seul fois
    Par touf35 dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/12/2007, 05h37
  4. Multiplication d'une colonne par une seul valeur
    Par ANTMA dans le forum Excel
    Réponses: 2
    Dernier message: 28/11/2007, 16h33
  5. Remplacement de balises par une seule autre
    Par laurent35 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 25/04/2006, 08h48

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