Page php qui s'execute seulement par commande

Résolu
bonjour,
j'ai un fichier script.php qui se situe dans /var/www/html , je veux pas executer ce fichier par un lien web http://monserver/script.php . mais je veux l'executer seulement par ligne de commande : php script.php

quelqu'un peut m'aider svp c très urgent !!!

9 réponses

  1. Regarde ma proposition de code PHP j'ai édité mon message précédent.
    Sinon avec htaccess qq chose comme
    <Files monscript.php>
    Deny from all
    </Files>
    
    1. Je l'avais oublié ce .htaccess.
      Voilà comment faire :
      <Files tonscript.php>
          deny from all
      </Files>
      1. j'ai besoin de ce fichier qu'il soit dans le documentroot (/var/www/html).il y a une méthodes avec htaccess mais je sais pas comment on peut le faire.
        1. Salut,

          Le plus sur et le plus simple est surement de mettre le fichier hors du documentRoot.
          S'il est /var/www/html, pourquoi pas dans /var/www/bin ou autre chose.

          Ou sinon utiliser
          if(!isset($argc)){
             die('Acces interdit par le web');
          }
          
          1. merci ,
            mais si le propriétaire du fichier est www-data ??
            1. Tu peux lui-mettre un chmod à 700 si le propriétaire du fichier n'est pas www-data (user par défaut d'Apache).
              Ensuite, en console : "php /var/www/html/script.php"
              1. oui mais le script php existe dans /var/www/html (c'est le documentroot).je peux acceder a ce chemin par http://monserver. mais je veux pas executer mon script par http://monserver/monscript.php , sauf par ligne de commande seulement.

                je veux une méthode pour que le script ne soit pas visible par lien web
                1. Sur Windows :
                  "C:\Chemin\vers\le\php.exe" "C:\tonscript.php"
                  Sur Linux, "php /home/user/tonfichier.php" suffit.