web-dev-qa-db-fra.com

Est-il possible de donner le statut 404 à des utilisateurs non autorisés?

Ces derniers mois, je suis tombé sur plusieurs sites, qui donnent une page d'état/d'erreur 404, alors qu'il devrait y en avoir 403 ou peut-être 401.

Par exemple, j'ai un dépôt privé sur github.com avec un lien:

https://github.com/BlueGhost-cz/BG

Lorsque je me suis déconnecté accidentellement et que j'ai essayé d'accéder à ce lien, je n'ai eu que le message "Ce n'est pas la page que vous recherchez" , ce qui n'est évidemment pas le cas. vrai. Je le cherche et la ressource existe, je ne suis pas authentifié. Je m'attendrais à une page 403 ou une autre page "autorisation refusée". Celui-ci m'a vraiment fait peur pendant quelques secondes, car il impliquait que mon référentiel était supprimé.

Estimez-vous également que cela est faux? Quelle serait la "meilleure pratique" dans ce domaine?

2
Vojta Hejda

Personnellement, je pense que cela est justifié. En renvoyant un 403 à la place, Github confirmerait l'existence d'un référentiel portant ce nom, ce qui en soi pourrait être considéré comme une faille de sécurité (ou du moins indésirable).

A titre d'exemple, imaginez que ces référentiels existent:

Si un jour http://github.com/Valve/HalfLife renvoyait une 403, cela confirmerait en gros que Half Life 3 est en cours de traitement.

Le revers de la médaille, c'est qu'il n'est pas rare que des serveurs Web soient configurés pour servir des adresses 403 pour des URL inexistantes, pour la même raison.

1
Tim Fountain

Eh bien, 404 devrait être utilisé lorsque la ressource n'existe pas, n'est-ce pas que vous n'êtes pas autorisé, ce n'est pas du tout. 403 devrait concerner les ressources interdites, même si vous êtes authentifié, vous pourriez ne pas avoir la permission d'utiliser une ressource donnée. Je préfère 401 les ressources trouvées mais nécessitant une sorte d'authentification pour l'obtenir. OMI

1