Cacher l'accès aux pages - PHP - Programmation
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...
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...
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.
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.
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
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>
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/" );
?>
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 |
Ce con ma mit des smileys lol
attd je recommence
Code :
|
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
Marsh Posté le 07-04-2006 à 09:26:00
Jake@CS a écrit : Ce con ma mit des smileys lol :)
|
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
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.
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.
Marsh Posté le 07-04-2006 à 12:44:37
dans la plupart des cas la balise [ code ] suffit pour désactiver les smileys
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+
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é?
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...
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+
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 :
|
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.
Marsh Posté le 07-04-2006 à 22:11:51
ok.
Merci nargy pour ces précisions.
Je vais tester également de ce pas...
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.
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