Nier via 404 au lieu de 403

J'ai la configuration suivante pour phpmyadmin:

<Directory /usr/share/phpmyadmin>
        Options FollowSymLinks
        DirectoryIndex index.php
        Order Deny,Allow
        Allow from 127.0.0.1
        Deny from all

...

</Directory>

Donc en gros, j'ai seulement permettre à phpmyadmin pour être accessible à partir de localhost. Si quelqu'un de l'extérieur du monde de tentatives pour aller à http://mydomain/phpmyadmin ils vont obtenir un 403 (Forbidden). Cela pourrait conseil sur le fait qu'il est là, mais ils ne peuvent tout simplement pas l'obtenir.

Question: je préfère avoir Apache retourner une erreur 404 dans cette instance. Est-ce possible?

  • Sonne comme une mauvaise pratique pour moi.
  • Est-ce dans votre httpd.fichier conf, ou inclus dans le conf.d/ répertoire?
  • En fait, c'est dans un phpmyadmin.fichier conf dans /etc/apache2/conf.d
  • Je ne dirais pas cela. C'est comme la différence entre l'affichage de "votre nom d'utilisateur ou mot de passe a été saisi de manière incorrecte" vs "Votre mot de passe a été saisi de manière incorrecte"
  • Pour moi, une erreur HTTP 404 devrait signifier "le fichier n'existe pas". Si l'utilisateur n'est pas autorisée, vous devez envoyer un 403 forbidden erreur. Cela peut être important pour les robots et autres systèmes automatisés.
  • double possible de Est-il un moyen de forcer apache à renvoyer 404 au lieu de 403?
  • C'est une bonne pratique. vous ne voulez pas exposer une information supplémentaire à l'extérieur qui sont les éventuels assaillants. En outre, les moteurs de recherche ne sera pas visiter cette page de nouveau si ils voient "404 n'existe pas de message". Vous pouvez garder 403 pour la DMZ.
  • Je suis en désaccord; c'est la sécurité par l'obscurité. En général, si il existe un moyen pour vous authentifier doit servir un 403. Dans ce cas particulier, il serait préférable de ne pas exécuter phpmyadmin sur une instance d'Apache qui communique avec le monde extérieur.

InformationsquelleAutor ThaDon | 2011-06-25