J'ai désactivé les listes de répertoires comme ça ...
Options -Indexes
Lorsque j'essaie d'accéder à un répertoire comme celui-ci: -
www.example.com/secret/
Je reçois une réponse interdite 403 .
Cependant, je veux une réponse 404 Not Found , donc les pirates ne peuvent pas deviner ma structure de répertoire si facilement. Comment ferais-je ça?
apache-2.2
security
directoryindex
Rik Heywood
la source
la source
Réponses:
Activez mod_rewrite et AllowOverride dans / secret. Créez ensuite .htaccess:
la source
J'ai cherché sur Internet une réponse à un problème similaire. Bien que mod_rewrite soit une solution possible, je trouve que la meilleure solution utilise la directive "RedirectMatch".
Voir StackOverflow: problème de redirection 403 interdit vers 404 introuvable
la source
Créez un script 403 personnalisé qui renvoie à la place une erreur 404.
Par exemple, en PHP:
Maintenant, configurez Apache pour utiliser ce script pour les résultats 403:
Pas de problème avec les réécritures et cela fonctionne instantanément pour l'ensemble du serveur.
la source
header()
commande.Ma solution pour arrêter d'afficher le contenu du répertoire sous forme de liste et d'afficher l'erreur 404 est simple. Créez un fichier .htaccess dans le répertoire racine de votre projet et écrivez quels répertoires doivent être protégés.
Structure des répertoires
.htaccess
La deuxième ligne de .htaccess interdit l'accès aux éléments de la liste dans le répertoire de l'application et tous ses sous-secteurs.
La troisième ligne de .htaccess interdit l'accès aux éléments de liste dans le répertoire des modèles et tous ses sous-secteurs.
La quatrième ligne de .htaccess définit notre propre erreur 404 (si vous ne souhaitez pas afficher l'erreur par défaut d'Apache).
N'oubliez pas de vider le cache de votre navigateur lorsque vous travaillez avec htaccess.
la source
Utilisez .htaccess pour masquer les erreurs. Voir ce guide:
http://www.tarahost.net/pages/web-design/29371.php
la source