:hello: Bonjour,
Je cherche à protéger mes scripts php d’une utilisation directe. En effet, je controle si l’utilsateur est loggé et ensuite j’inclu les-dits script, mais on peut toujours lancer ces script directements si on connait leur emplacement…
Je cherche une méthode pas trop lourde.
Merci
Pas forcément en php (je pense avec des .htaccess )
Remarque : les fichier de conf sont chargés par le fichier qui va charger les pages protégées donc à la limite ya un gros bug
Mais je met quand même la prtotection, ca fait plus gars qui a pensé à tout
Plus simple : tu fous le dossier dans un répertoire qui n’est pas servi par Apache (ou tu fous le chmod adéquat), de telle façon à ce que seul php peut le lire.
par exemple, sinon avec un .htaccess, si tout tes fichiers à "cacher" se trouvent dans un dossier (par exemple, au hasard, "include/" :D), tu crées le fichier .htaccess suivant dans le dossier à protéger :
Cela interdiras l’accès à toute personne essayant d’avoir le fichier via le serveur web :neutre: …
(le serveur le lit de la façon suivante :
1/ par défaut, j’interdis l’accès
2/ j’autorise les accès aux systèmes marqués après Allow
3/ il n’y a pas de ligne commençant par Allow, donc j’interdis l’accès à tout le monde)
Evidemment, cela n’empêche pas une personne connecté en ligne de commande sur le serveur d’avoir accès à ton fichier, dans ce cas seul une protection comme celle de l’homme Sans-Nom sera efficace :o
la dernière option de la clause "Order" du fichier .htaccess est toujours la clause par défaut
Donc ces deux fichiers sont identiques :
Order Allow,Deny
Order Deny,Allow
Deny from all
un fichier avec cette syntaxe n’as pas contre aucun sens (je ne dis pas qu’il ne fonctionne pas, mais y’a de grande chance que ça te ponde un erreur 500) :
Order Allow,Deny
Deny from all
l’utilisation serait plutôt :
Order Allow,Deny
Allow from localhost
pour autoriser l’accès à ce dossier via le serveur web uniquement pour l’ordinateur hébergeant le serveur (ce qui peut paraître débile, mais ce n’est qu’un exemple :D)