8791 sujets

Développement web côté serveur, CMS

Bonsoir à tous Smiley smile

J'ai fait une petite recherche forum, mais rien ne correspond à mon cas concret, je vous explique :

J'ai un site, disons www.monsiteamoi.fr, dans lequel il y a un blog : www.monsiteamoi.fr/blog
Sur mon ftp j'ai donc un dossier /www/ (dans lequel il y a mon portfolio en simple php) et qui contient un dossier /blog/ (qui contient mon wordpress). Vous suivez ?
Bon, dans /blog/ il y a un dossier /playground/ qui va contenir des bouts de code. Mais je n'ai aucune envie que l'utilisateur malin vienne fouiller dans mon dossier, donc pour le protéger, je redirige /playground/ vers la page d'accueil du blog comme ceci avec un htaccess qui fonctionne :

RedirectPermanent   /blog/playground/  /blog/ 


Pour le moment il n'y a que /playground/, mais si je commence à avoir beaucoup de code, je vais vouloir le classer en sous-dossiers, donc il va y avoir du /playground/code01, /playground/code02 etc ce qui nous donne un truc du genre
upload/29058-redirect.jpg

Le problème avec ma redirection, est que ce petit malin, quand je tape www.monsiteamoi.fr/blog/playground/code01 me redirige vers www.monsiteamoi.fr/blog/code01 (logique en fait) donc une page 404. J'ai essaié de mettre /blog/index.php dans la redirection, mais là encore il me rediriger vers www.monsiteamoi.fr/blog/index.phpcode01, donc pas beaucoup mieux.

Ma question : quelqu'un à une idée pour préciser à ma redirection que je veux non seulement rediriger le dossier /playground/ mais aussi tous les futures sous dossiers qui vont exister plus tard ?

(je précise que le .htaccess est à la racine dans www et que l'hébergeur est Ovh, on sait jamais ^^)

Merci d'avance

Edit : hahaha je viens de tester de mettre un page dans le dossier.. il me redirige la page vers l'accueil genre www.monsiteamoi.fr/blog/mapage.html, je crois que j'ai pas choisi la bonne solution moi Smiley decu
Modifié par InpIxelItrust (20 Aug 2010 - 23:05)
Coucou Heyoan

tout simplement parce que je n'ai aucune idée de ce qu'est Options- Indexes. Je viens de lancer une recherche google mais rien de très probant, serais-ce un secret bien gardé ? Smiley smile . La redirection est un truc que j'ai vu lors d'un cours de php il y a quelques temps (c'est loin) je me suis dit que ça pourrait servir dans mon cas. J'avoue que tout ce qui est coté serveur, à part un peu de php, je suis perdue. J'ai vu des sites qui, quand on essaie d'accéder à la racine de ce type de dossiers, renvoient vers une page "downloads" par exemple, d'où mon idée que ça devait être une redirection via htaccess.

Je pense, après tests, que la redirection n'est pas une bonne solution, puisque comme dit dans mon edit, en redirigeant mon dossier, je rend le contenu inaccessible (au sens littéral du terme). L'idéal serait quelque chose pour protéger mon dossier si la personne tape l'url /blog/playground/ exacte, mais que /blog/playground/masuperpagedetest.html soient accessibles (et pareils pour les futurs sous dossiers), sans pour autant que l'utilisateur arrive sur une page blanche ou 404, dur dur.

J'avoue, là je sèche, une piste ? un lien ? Smiley smile
Eh bien quand tu dis :
InpIxelItrust a écrit :
je n'ai aucune envie que l'utilisateur malin vienne fouiller dans mon dossier
je comprends que tu ne veux pas qu'on puisse lister son contenu. Pour cela il suffit de mettre dans ton fichier .htaccess
Options -Indexes
Si tu as déjà une ligne avec Options tu peux le mettre à la suite :
Options +FollowSymlinks -Indexes

Modifié par Heyoan (20 Aug 2010 - 20:02)
Je viens de tester le Options -Indexes dans le htaccess de racine, effectivement ça "bloque" le listage des fichiers, avec un joli message Forbidden You don't have permission to access /blog/playground/ on this server. (page 403 si j'ai bien compris).
Cette méthode à l'avantage d'effectivement laisser mes pages de sous-dossier accessibles, merci Heyoan Smiley smile

Cependant (mode enquiquineuse), j'avoue ne pas être super fan du message pas super message. Je pense qu'on peut personnaliser la page 403 comme on peut personnaliser une page 404, c'est déjà une piste Smiley smile Je vais paraitre insistante, mais n'y a-t-il vraiment pas une solution pour rediriger automatiquement l'utilisateur vers la page d'accueil (ou une autre page) si il entre dans le dossier interdit ? A moins que ce soit contre certaines principes d'accessibilité bien sure.
On peut retravailler toutes les pages 40x (voir par exemple ce concours Alsa sur les pages 404 -non non ! je ne donne pas le lien parce que j'étais arrivé second Smiley lol - ou encore cet exemple pour une page 403.

Pour cela il suffit de mettre dans le .htaccess quelque chose comme :
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php

Et si tu préfères une redirection il suffit de placer dans chaque répertoire un fichier index.php du style
<?php
header('Location:  www.monsiteamoi.fr/blog');
 
die;
?>
Et voilà, le fait de mettre le fichier index.php avec une redirection fonctionne comme un charme.

Merci Heyoan de m'avoir rappeler l'existence des header Smiley smile

Résolu ^^