Jump to content

Recommended Posts

Bonjour,

Je souhaite créer un htaccess qui protège mes répertoires sensibles mais qui autorise mes programmes PHP à faire appel à des fichiers contenus dans ces répertoires afin qu'ils puissent fonctionner. J'ai essayé ceci mais ça ne fonctionne pas. Les répertoires sont tellement bien protégés que mes programmes PHP n'y ont pas accès :


AuthName "Répertoire protégé"
AuthType Basic
AuthUserFile "/***chemin***/.htpasswd"

Order Deny, Allow
Deny from all
Allow from .sfr.fr

J'ai tenté aussi Order Allow, Deny , mais rien n'y fait.

Je vous remercie si vous avez une idée de correction.

Edited by dimi3
Link to post
Share on other sites
un htaccess qui protège mes répertoires sensibles mais qui autorise mes programmes PHP à faire appel à des fichiers contenus dans ces répertoires

Une simple ligne dans le htaccess suffit :

deny from all

Cette ligne empêchera tout accès par http mais n'aura aucun impact sur les accès internes comme les include php.

Link to post
Share on other sites

Oui, si on parle bien de scripts php locaux qui accèdent directement aux fichiers en local (i.e. pas via des choses comme fsockopen, curl, ou de façon générale une URL plutôt qu'un chemin), le .htaccess n'a aucune espèce d'importance, et ne peut rien bloquer du tout.

Note aussi que les Auth* sans un "require quelque-chose", ça ne sert strictement à rien.

Jacques.

Link to post
Share on other sites

Merci pour vos réponses.

Le visiteur ouvre les fichiers du répertoire protégé via un menu dont les items sont rédigés ainsi :

<a href="../repertoire/fichier.php>

Ainsi un htaccess contenant la ligne deny from all le bloque. Comment faire pour n'autoriser l'accès au répertoire que par un lien de ce type ? Je voudrais que l'utilisateur utilise les fichiers mais que ceux-ci ne puissent être téléchargés ou simplement que son code ne puisse être affiché... Est-ce possible ? Sinon, quelle autre méthode conviendrait ? Merci encore...

Link to post
Share on other sites

Bonjour,

Ton navigateur n'envoie pas "../repertoire/fichier.php" vers le serveur, mais &quot;http://www.ton_site.com/repertoire/fichier.php".

Ce que tu veux faire exactement n'est pas tout à fait clair pour moi. Peut-être pourrais-tu tester les referrers si ton intention est d'interdire l'accès direct aux fichiers à partir d'autres sites (l'interdiction ne sera pas complète) ? Ou peut-être peux tu réexpliquer ce que tu cherches à faire ?

Jean-Luc

Link to post
Share on other sites

...Peut-être pourrais-tu tester les referrers si ton intention est d'interdire l'accès direct aux fichiers à partir d'autres sites (l'interdiction ne sera pas complète) ?

Jean-Luc

merci.

Oui, je voudrais que mes visiteurs puissent utiliser mes fichiers programmes situés dans un répertoire que je ne voudrais pas qu'ils visitent pour en récupérer le code ou les télécharger. J'avais pensé à :

Order Deny, Allow
Deny from all
Allow from .monsite.sfr.fr

mais je n'obtiens pas l'effet escompté. L'exception Allow ne joue pas son rôle. Lorsque l'utilisateur clique sur le lien du menu <a href = "../repertoire/programme1.php>Programme 1</a>, la page programme1.php ne s'ouvre pas, et s'affiche le message :

Forbidden

You dont have permission to access /repertoire/ on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

je ne comprends pas non plus l'avertissement Additionally ....

Link to post
Share on other sites

Oui, je voudrais que mes visiteurs puissent utiliser mes fichiers programmes situés dans un répertoire que je ne voudrais pas qu'ils visitent pour en récupérer le code ou les télécharger.

Dans ton exemple tu parles de fichiers .php ... or, si Php est correctement installé, un visiteur ne pourra pas récupérer la moindre ligne de programme.

Tout de qu'il aura c'est le résultat de l'interprétation de ta page par Apache/Php, donc une page .html.

Link to post
Share on other sites

Je ne comprends toujours pas ce que tu veux faire. Si les fichiers sont des scripts PHP, sauf mauvaise configuration, ils ne seront jamais téléchargés; ils sont toujours exécutés sur ton serveur. Par contre, si ce sont des images, des fichiers HTML, du JavaScript, etc, ils sont toujours téléchargés et tu ne peux pas l'empêcher si tu veux que certains navigateurs y aient accès.

Jean-Luc

P.S. Dan est plus rapide que son ombre !

Link to post
Share on other sites

Dans ton exemple tu parles de fichiers .php ... or, si Php est correctement installé, un visiteur ne pourra pas récupérer la moindre ligne de programme.

Tout de qu'il aura c'est le résultat de l'interprétation de ta page par Apache/Php, donc une page .html.

Merci Dan et Jean Luc,

On ne peut rien récupérer même avec un aspirateur de site ?

Edited by dimi3
Link to post
Share on other sites

Non, le ph est interprété sur le serveur qui ne renvoi que du HTML.

donc même un aspirateur de site ne verra que du HTML.

++

Patrick

Je vois que j'ai beaucoup à apprendre. Je n'ai pas perdu ma journée. Merci pour votre temps ! :rolleyes:

Que signifie la deuxième ligne dans cet avertissement ? Comment l'éviter ?

Forbidden

You dont have permission to access /repertoire/ on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Link to post
Share on other sites

Non, le ph est interprété sur le serveur qui ne renvoi que du HTML.

donc même un aspirateur de site ne verra que du HTML.

++

Patrick

Bonjour, je profite du post de dimi3, pour vous demander :

Comment voir si une page est construite en php en affichant le code source de la page ?

Richard

Link to post
Share on other sites

Salut,

Il n'y a aucun moyen de le savoir à partir du code source.

Mais avec un analyseur d'entête http, on peut avoir la mention "X-Powered-By" et la version de php utilisée.

Voir par exemple : Analyseur d'entêtes http

Ah oui ! Excellent merci beaucoup pour cette réponse.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Similar Content

    • By cyberdede
      Bonjour à tous

      je voudrais quand je tape https;//monsite/dossier accéder à https;//monsite/dossier/index.php
      or j'accède à https;//monsite/dossier/ avec un 404

      en localhost ca fonctionne

      pour la racine https;//monsite c'est ok

      mon htaccess
       
      RewriteEngine On Options -Indexes RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC,L] RewriteCond %{HTTPS} ^off$ [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] AddDefaultCharset UTF-8 ErrorDocument 404 /404.php  
    • By kevinjoseph
      Bonjour, j’ai un gros problème sur mon site Wordpress . Du jour au lendemain, mon site wordpress fais une redirection vers un autre site wordpress que j’ai crée ,sans que je touche à quoi que ce soit. Quand j’essai d’aller sur l’admin pour désactiver les plugins et voir d’où peut venir le problème. Impossible d’accéder, sa me redirige vers l’admin de l’autre site. Au final il est impossible que j’accède au site via (google, la bare de recherche, les favoris, l’admin…) pour voir ce qu’il fonction pas, j’ai juste accès au FTP. J'ai essayé de voir d'où pouvez venir ce bug en supprimant les plugins, le théme, mes derniers modifications, regarder sur le .htaccess si il y avais quelque par le nom de domaine de l'autre site écrit. Ca n'a rien changer, le site continue de ce rediriger automatiquement vers l'autre site. Si vous avez une idée d’où sa peut venir ou comment faire pour arranger ça et surtout comment éviter que sa ce reproduise. Sa m’aiderai beaucoup, merci d’avance.
      voici le code du .htaccess:
       
      # BEGIN WordPress
      <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      </IfModule>

      # END WordPress
      ~   Ludovic • 16:28    
    • By leobk
      Bonjour,
       
      J'ai un sous-domaine www.fr.monsite.com dédié pour la réservation des vols
      j'ai redirigé récemment ce sous-domaine vers le site principal www.monsite.com et le nombre des erreurs 404 a explosé
      un nombre énorme d'URLs de type :
      www.fr.monsite.com/fr/vols/index?f_type=01&f_departure=TLS&f_destination=DJE&f_date_from=08/09/2013&f_date_to=22/09/2013&f_flexibility=3&f_paxs_adults=2&f_paxs_childs=0&f_paxs_infants=0
      redirigent vers :
      www.monsite.com/fr/vols/index?f_type=01&f_departure=TLS&f_destination=DJE&f_date_from=08/09/2013&f_date_to=22/09/2013&f_flexibility=3&f_paxs_adults=2&f_paxs_childs=0&f_paxs_infants=0
       
      L'URL de destination est biensur introuvable 404, puisque les variables utilisés dans les deux sites ne sont pas identiques
      Voici la structure d'URL si on fait une recherche de vol sur le site principal :
      https://www.monsite.com/fr/resa?depart=SXF&arrivee=NBE&aller=2017-11-10&retour=2017-11-30&adultes=1&enfants=1&bebes=0&departureDateTime_D=&arrivalDateTime_D=&departureDateTime_R=&arrivalDateTime_R=&fareGroupName=&fareGroupName_R=&sens=2&currency=EUR&airline=&flightNumber=&flight=&flight_retour=&webview=0&felxibilite=2
       
       
      existe-il un moyen pour rediriger l'ensemble des URLs dynamiques du sous-domaines vers une URL statique du domaine principale (autre que l'accueil)?
       
       
    • By PieceMobile
      Bonjour,



      J'espère que vous allez tous bien.



      Auriez vous une solution pour rediriger ( via une règle htaccess par exemple ) :



      http://www.mon-site.com/blabla.html?ps_mobile_site=1



      vers : http://www.mon-site.com/blabla.html



      A mon avis, s'agissant d'un paramètre d'URL, de ce que j'ai cru comprendre -a mon petit niveau- c’était pas possible, mais ça me dépannerai pas mal si l'un d'entre vous avait une idée.



      Merci d'avance





×
×
  • Create New...