Autoriser uniquement PHP à accéder aux sous-répertoires.

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Inazo
Nouveau WRInaute
 
Messages: 13
Inscription: Ven Avr 06, 2007 15:00

Autoriser uniquement PHP à accéder aux sous-répertoires.

Message le Ven Avr 06, 2007 15:10

Bonjour,

J'aurais voulu pour des raisons simple interdire l'accès à tous fichier que se soit des .php, .html ou .jpg et autres, que ce soit par mon nom de domaine ou par un autre nom de domaine.

Cependant il est logique de dire que si j'interdit tous ces fichiers on ne pourras jamais accéder au site. évidement ceci n'est pas le but.

Le but est d'interdire tous accès à ces fichier qui se trouve dans des sous-répertoire de la racine du site.

Donc pour faire simple on autorise :

http://mondomaine.org/index.php

Mais on refuse :

http://mondomaine.org/compte/profile.php

Donc je voudrais savoir comment on peut procéder pour interdire tout accès aux fichier se trouvant dans ce cas de figure :

http://mondomaine.org/*/*.*

J'ai pas mal regarder sur Internet et sur ce forum mais je n'ai pas trouver de solution et j'avoue que mes tentative d'interdiction d'accès pour un répertoire son infructueuse.

Mon hébergeur est 1and1.

Si des informations ou des explications supplémentaires sont requise je les fournirais avec plaisir.

Merci à toutes les personnes qui liront ce message et/ou qui répondront.

Cordialement Inazo.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Lun Avr 09, 2007 15:04

Aucune solution miracle.

j'en ai trouvé 1 qui deja assure un minmum de protection, seulement pour les images. mais faudrait se pencher sur le problème des fichiers..

http://www.webrankinfo.com/forums/topic ... 252#680998

Inazo
Nouveau WRInaute
 
Messages: 13
Inscription: Ven Avr 06, 2007 15:00

Message le Mar Avr 10, 2007 7:58

Bonjour,

Merci pour ta réponse, j'ai essayer avec ce que tu as mis et en rajoutant php dans la liste des extensions refuser cependant c'est un peu trop efficace. L'index du site qui pointe vers un .php est rejeter directement.

Mais en utilisant un Url Rewriting pour ce retrouver sur la page en .php on est rejeter tout de même, donc je ne pense pas que cette méthode soit la bonne a part pour protéger certain dossier très sensible.


Cordialement Inazo.


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Mar Avr 10, 2007 8:21

Et ça :
Code: Tout sélectionner
<Directory "/ton chemin/">
Order deny,allow
Allow from localhost
Deny from all
</Directory>

Inazo
Nouveau WRInaute
 
Messages: 13
Inscription: Ven Avr 06, 2007 15:00

Message le Mar Avr 10, 2007 8:32

Merci pour cette réponse,

mais j'ai un soucis pour le chemin en questio, sur un hébergement Linux j'aurais sans soucis récupéré le realpath, mais vu que c'est un hébergement Windows je doit le marquer en syntaxe windows .

Utilisation de wamp sous un Windows Xp.

J'ai donc essayer ceci :
Code: Tout sélectionner
<Directory "C:\wamp\www\NewPai\">
Order deny,allow
Allow from localhost
Deny from all
</Directory>


et ceci :
Code: Tout sélectionner
<Directory "wamp/www/NewPai/">
Order deny,allow
Allow from localhost
Deny from all
</Directory>


Pour obtenir au final une erreur 500.

Et de plus cette solution ne vas interdire que les appel externe mais je pourrais toujours accéder via l'adresse localhost à tous fichier. Le but serait que plutôt d'autoriser tel ou tel fichier d'autoriser uniquement la racine et interdire tout les autres avec une regex c'est peut être possible non ?

EDIT :

Voici une solution qui fonctionne qui répond très bien à mes attentes :

Code: Tout sélectionner
#Interdit tout visibilité ou execution de .php sauf par php lui même
<Files *.php>
Order deny,allow
Deny from all
</Files>

#Autorise le fichier index.php à être appeler directement en dehors de tous scripts
<Files index.php >
Order deny,allow
Allow from localhost
Deny from all
</Files>


Cordialement Inazo.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Avr 10, 2007 11:45

Pour les boulets en mon genre, aurais-tu 5 minutes pour plus d'explication ?

Code: Tout sélectionner
#Interdit tout visibilité ou execution de .php sauf par php lui même
<Files *.php>
Order deny,allow
Deny from all
</Files>


si je met dans la barre d'adresse : -www.monsite.com/contact.php et que contact.php ne peut etre executer,
a quoi cela sert-il ? Comment fais-tu pour l'executer ?

Code: Tout sélectionner
#Autorise le fichier index.php à être appeler directement en dehors de tous scripts
<Files index.php >
Order deny,allow
Allow from localhost
Deny from all
</Files>


index.php est l'exception ?



Derniere question:

Je peux apeler contact.php sans son extention :
-www.monsite.com/contact

ton systeme va t-il marcher ?

Inazo
Nouveau WRInaute
 
Messages: 13
Inscription: Ven Avr 06, 2007 15:00

Message le Mar Avr 10, 2007 12:19

Bonjour,

En effet Index et l'une des exceptions mais il peut en avoir plusieurs, donc tu peux autoriser la page contact.php à être appelée.

Si tu essaye d'appeler ta page sans son extension tu aura un message d'erreur de type fichier non trouvé.

A quoi cela sert-il ?

A être sur que tel ou tel page est bien appelé dans les conditions voulus dans mon exemple chaque page est obligatoirement incluse dans l'index, pour être exploité. Donc il est impensable que l'on puisse appeler une autre page directement.

Si je n'ai pas été assez clair n'hésitez pas à poser des questions.

Cordialement Inazo.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Avr 10, 2007 12:47

Trés clair !!

C'est tres interressant c'est pour ca que j'ai pris 2 minutes pour tester en ligne. Et je me prend bien une erreur 403 mais sur index.php aussi !! Je n'arrive pas faire passer index.php comme exception.

Ca depend de la config serveur ?

Inazo
Nouveau WRInaute
 
Messages: 13
Inscription: Ven Avr 06, 2007 15:00

Message le Mar Avr 10, 2007 12:50

Ah intéressant comme erreur mais je pense que cela vient d'ici :

Code: Tout sélectionner
Allow from localhost


En fait il faudrait que à la place de localhost tu mettes ton nom de domaine.

Je pense que là ça sera corriger.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3326
Inscription: Mar Nov 16, 2004 18:27

Message le Mar Avr 10, 2007 13:42

ok c nickel, juste avec l'IP :D

Inazo
Nouveau WRInaute
 
Messages: 13
Inscription: Ven Avr 06, 2007 15:00

Message le Mar Avr 10, 2007 13:51

De rien.

Voila donc si quelqu'un trouve un autre bug ou une solution pour améliorer le script n'hésité pas.

Cordialement Inazo.


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Mar Avr 10, 2007 14:00

Pas mal comme solution en effet.
@+


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités