Cacher l'accès aux pages

Cacher l'accès aux pages - PHP - Programmation

Marsh Posté le 05-04-2006 à 22:52:14    

   Bonsoir,

 


J'ai un site en php, et je veux empêcher l'accès au contenu de certains répertoires...

 

Mais je ne peux pas utiliser le systeme .htaccess, car sinon les pages ne peuvent plus être lues...

 

Quelle est la solution svp ???

 


Merci

Reply

Marsh Posté le 05-04-2006 à 22:52:14   

Reply

Marsh Posté le 05-04-2006 à 23:13:54    

Y a pas de miracles non plus, sans .htaccess, tu peux au mieux intégrer un système de droits sur des pages php, mais nada sur le reste du contenu d'un répertoire...

Reply

Marsh Posté le 06-04-2006 à 08:08:35    

tu separes ce que tu veux cacher et tes pages ?

Reply

Marsh Posté le 06-04-2006 à 12:29:13    

Il existe une autres solution, mais j'ignore si elle est sécurisée. Dans ton dossier, tu crées un fichier index.php (ou html) où tu y places un formulaire avec login et mot de passe. Si quelqu'un essaie d'y aller, il tombe sur la page index.  
Mais franchement, à part le .htaccess ou la méthode de "naceroth", je ne vois pas...


---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 06-04-2006 à 14:28:46    

Mais si c'est vraiment important ou urgent, je te suggere une peite visite ici
 
@+


---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 06-04-2006 à 15:19:46    

oualad a écrit :

Mais si c'est vraiment important ou urgent, je te suggere une peite visite ici
 
@+


 
Il faut faire attention avec ces scripts car une bonne partie ne respecte pas les regles de bases de la securite en php...
 
Sinon si tu nous decrivais ton probleme un peut plus en detail, on pourrait surement t'orienter plus precisement.
 
 

Reply

Marsh Posté le 06-04-2006 à 22:34:04    

Bonsoir,
 
Tout d'abord merci à vous de prendre le temps de me répondre.
 
J'explique mieux le problème:
 
Si on imagine l'adresse du site suivante: http://www.monsite/page/  (index se trouve à la racine du site, puis les pages dans "pages" )
 
Si quelqu'un tape directement le chemin complet jusque .../page/ il verra l'intégralité des différents fichiers se trouvant dans page.
 
et bien je voudrais empêcher cela. Comment faire puisque si je mets .htaccess personne ne pourra accéder au contenu du site...
 
Merci.

Reply

Marsh Posté le 06-04-2006 à 23:07:07    

bein disons que moi j'appliquerai la méthode que j'ai cité plus haut, à savoir une page index dans ton dossier page. Cette page contiendrait soit un formulaire avec login et mot de passe, soit une info mentionnant que "Vous n'avez pas accès". Je dis ça mais si d'autres ont une solution, je suis également prenant ;)


---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 07-04-2006 à 01:11:00    

> Mais je ne peux pas utiliser le systeme .htaccess, car sinon les pages ne peuvent plus être lues...
 
- par défault, les répertoires sont inaccessibles (forbidden) avec apache. Pour les rendre explicitement accessibles, il faut ajouter un auto index dans un fichier de config apache.
 
Si ton serveur apache a été configuré par défaut pour indexer les répertoires, c est un bug de sécurité.
 
Si tu te trouve dans un sous-répertoire indexé ou que tu as tiens à garder un bug de sécurité, tu peut toujours utiliser:
<Directory blabla>
Options -Indexes
</Directory>


Message édité par nargy le 07-04-2006 à 01:11:38
Reply

Marsh Posté le 07-04-2006 à 02:38:05    

tu creer un fichier index.php dans le dossier page qui va rediriger vers la
racine de ton site grace au code suivant:
<?php
        header("Location: http://tonsite.fr/" );
?>

Reply

Marsh Posté le 07-04-2006 à 02:38:05   

Reply

Marsh Posté le 07-04-2006 à 02:40:36    

Jake@CS a écrit :

tu creer un fichier index.php dans le dossier page qui va rediriger vers la
racine de ton site grace au code suivant:
<?php
        header("Location: http://tonsite.fr/" );
?>


Ce con ma mit des smileys lol :)  
attd je recommence

Code :
  1. <?php
  2.        header("Location: http://tonsite.fr/" );
  3. ?>

Reply

Marsh Posté le 07-04-2006 à 03:04:13    

sinon n'oublie pas qu'il y a l'option : Deactivate the smileys  
c'est une case a cocher quand tu poste/edite un post

Reply

Marsh Posté le 07-04-2006 à 09:26:00    

Jake@CS a écrit :

Ce con ma mit des smileys lol :)  
attd je recommence

Code :
  1. <?php
  2.        header("Location: http://tonsite.fr/" );
  3. ?>



 
Effectivement. Je viens de faire un test avec la fonction header("location:http://www.monsite.com/index.php" ). Quelque soit le dossier qu'on essaie de lister (ex: www.monsite.com/pages/), il me dirige automatiquement vers ma page d'accueil.
Je pense que la solution est bonne, non?
 
Merci


Message édité par oualad le 07-04-2006 à 09:26:46

---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 07-04-2006 à 11:48:34    

de rien
et merci weed pou l'astuce je viens d'arriver sur ce forum alors je maitrise pas encore tt.

Reply

Marsh Posté le 07-04-2006 à 12:18:47    

de rien, mais je crois que c'est partout pareil.  
Tu as toujours une fonction qui permet de desactiver les smiley mais c'est bizzare peut de monde y pense.

Reply

Marsh Posté le 07-04-2006 à 12:44:37    

dans la plupart des cas la balise [ code ] suffit pour désactiver les smileys ;)

Reply

Marsh Posté le 07-04-2006 à 19:08:10    

Bonsoir,
 
 
Merci à tous pour m'avoir donné la solution et plus particulièrement à Jake@CS.
 
Ceci m'a été d'une grande aide.
 
A+

Reply

Marsh Posté le 07-04-2006 à 19:18:25    

Au fait, quel était le problème avec le .htaccess?
Tu as toujours ta faille de sécurité?

Reply

Marsh Posté le 07-04-2006 à 21:02:55    

Comme indiqué plus dans mon message, le fichier .htacess ne me convenait pas car dans .../pages, il y a toutes les pages public...
 
Donc sans accès mot de passe, je voulais rendre seulement impossible le visu du contenu du répertoire "pages".
 
en revanche même si le contenu n'est pas visible, le serveur me renvoi un message d'erreur:
 
Warning: Cannot modify header information - headers already sent by (output started at /home/.sites/200/site400/web/pages/index.php:1) in /home/.sites/200/site400/web/pages/index.php on line 3
 
au lieu de me renvoyer sur la page que je cite dans le fichier php pour info voici le contenu:
 
    <?php
 
            header("Location: http://www.monsite.fr/accueil.php" );
      ?>
je ne comprends pas pourquoi, de plus j'ai fouillé un peu sur le net, pas d'explications...

Reply

Marsh Posté le 07-04-2006 à 21:13:36    

Correction: tout est ok maintenant...
 
Il y avait un espace ou même plusieurs de trop sur la ligne de redirection...
 
 
Merci encore.
 
A+

Reply

Marsh Posté le 07-04-2006 à 22:10:04    

> le fichier .htacess ne me convenait pas car dans .../pages, il y a toutes les pages public...  
 
Je reprends mon explication:
 
Si l'internaute tape:
http://url/pages/page1.php
 
Il a accès à la page.
 
Si l'internaute tape:
http://url/pages/
 
...par défaut apache interdit l'accès (erreur n°403)
 
Apache peut être configuré pour lister le contenu d'un répertoire, quand celà est nécessaire.
 
Mais si apache liste le contenu de tous les répertoires par défaut (et c'est possible) il s'agit d'une faille de sécurité.
 
Il est tout de même possible de lui interdire de lister le contenu d'un répertoire spécifique en utilisant un .htaccess qui contient:

Code :
  1. <Directory .>
  2.   Options -Indexes
  3. </Directory>


 
Pour supprimer la faille de sécurité, il suffit de mettre le fichier .htaccess décrit ci-dessus dans le répertoire racine du site.

Reply

Marsh Posté le 07-04-2006 à 22:11:51    

ok.
 
Merci nargy pour ces précisions.
 
Je vais tester également de ce pas...

Reply

Marsh Posté le 07-04-2006 à 22:18:32    

De rien, si tu as des problèmes de configuration de apache, n'hésite pas à consulter le site http://apache.org/. Pour les problèmes de sécurité une configuration apache vaut toujours mieux qu'une bidouille en PHP.

Reply

Marsh Posté le 07-04-2006 à 22:22:17    

Ok encore merci et bonne soirée !
 
A+

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed