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 :

Empêcher l'exécution d'un script PHP depuis le web


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Points : 111
    Points
    111
    Par défaut Empêcher l'exécution d'un script PHP depuis le web
    Bonjour,

    j'ai actuellement un script PHP qui me génère un fichier XML.

    Je vais faire en sorte que le script PHP s'exécute en CRON pour générer ce XML mais j'aimerais donc faire en sorte d'interdire l'exécution du script depuis le web au cas ou un petit malin trouverait le nom du dossier et me ferait un flood du script.

    Merci

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    S'il n'est pas servi pas le serveur web, le script n'a pas de raison d'être dans l'arborescence du serveur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Points : 111
    Points
    111
    Par défaut
    le script est servi par le serveur web

    enfin, oui, si on à la même définition de servi qui est pour moi, qui s'execute sur le serveur web

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne le lances pas via l'executable php ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Points : 111
    Points
    111
    Par défaut
    si, je le lance via

    (je suis sur une hébergement mutualisé pas de contrôle total comme sur un dédié)

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    tu veux dire que tu utilises un service web de lancement de script et non pas un cron sur ta machine serveur c'est ca ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Points : 111
    Points
    111
    Par défaut
    en gros j'ai mon script qui se situe sur

    et dans interface d'ovh j'ai défini le CRON de cette manière :

    Script à exécuter :
    /www/mondomaine.fr/export/script.php
    Language du script :
    PHP5
    Frequence .... etc...

  8. #8
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu n'as pas la possibilité de placer ton fichier en dehors de l'arborescence, tu peux utiliser un .htaccess avec DENY ALL.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Points : 111
    Points
    111
    Par défaut
    et cela ne posera pas de soucis avec la tache CRON ? ca va pas lui refuser l'accès ?

    ok ben merci du tuyau, je vais tester ca

  10. #10
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    je 'nai pas précisé mais il s'agit de créer un dossier ou on met tout ce pour quoi tu refuse l'accès.

    Ton script via Cron lance surement le script PHP via l'executable, donc en dehors de toute relation avec apache et les interdictions.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Tu pourrais aussi rajouter une identification login/mdp via un .htaccess/.htpasswd, ce qui donnerait une URL du genre : -http://www.mondomaine.fr/export/script.php?un_login@un_mot_de_passe
    Faut voir si OVH le permet.

    Aussi, rajouter dans un fichier ou une Bdd la date (h:m:s) de l'exécution du script permettra de vérifier si c'est déjà fait ou pas, ceci dans le but d'éviter qu'il le soit 2 fois.
    Voir même pousser le bouchon de vérifier l'heure de l'exécution du script par rapport à l'heure prévue/défini au niveau du cron. Se donner une petite marge comme accepter son exécution à plus ou 1 heure près, donc en dehors de + ou - 1 heure, on exécute rien.
    Donc ici, même si quelqu'un s'amuse à pointer dessus plusieurs fois et à des heures farfelues (par rapport au cron), ça n'aura aucune incidence.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  12. #12
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Points : 160
    Points
    160
    Par défaut
    si tu le lance par un cron, déjà tu enlève les droit d'apache dessus (www-data)
    puisque vu que tu le lancera en cron, c'est l'utilisateur qui lance le cron qui va l'executer et non apache...

    Sinon non il est pas utiliser par le serveur web
    celui ci commence a travailler ici:"/www/"

    donc déjà si tu mets ton script en racine du ftp, apache n'y aura pas accès théoriquement... et impossible d'y accéder par le web...

    sinon un htaccess même forcément avec un mot de passe mais déjà un "deny all" dans le répertoire du script et apache ne lira pas ce qui s'y trouve...

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 218
    Points : 111
    Points
    111
    Par défaut
    merci à tous

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

Discussions similaires

  1. Exécuter script php depuis un autre serveur ?
    Par truser dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2014, 11h57
  2. Réponses: 1
    Dernier message: 15/09/2009, 10h45
  3. [MySQL] Exécuter un script PHP depuis MySQL
    Par phicarre dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/08/2009, 23h36
  4. Réponses: 5
    Dernier message: 23/02/2009, 09h21
  5. Réponses: 8
    Dernier message: 27/07/2006, 09h40

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