Что может быть кодом ответа http из-за отсутствия авторизации на основе PHP-сессии - PullRequest
1 голос
/ 02 июля 2010

Я пишу небольшой сайт. Существует авторизация на основе PHP-сессии. Какой код ответа HTTP я должен отправить, если у пользователя нет доступа к определенной странице?

Является ли 412 Precondition Failed хорошей идеей? Я думаю 401 Unauthorized хорошо только для http авторизации. 400 Bad Request и 403 Forbidden выглядят слишком общими.

Ответы [ 2 ]

5 голосов
/ 02 июля 2010

403 Forbidden означает «имя / пароль, который вы указали, недействителен для этого URL» - это то, что вы хотите.

401 Unauthorized означает «дайте мне имя и пароль».

412 Precondition Failed - это нечто совершенно иное (связано с условными запросами; см. RFC )

и 400 Bad Request означает "а? О чем ты говоришь?" (запрос искажен, и сервер не знает, что с ним делать)

См. Также: RFC 2616 - HTTP 1.1

Примечание. Если вы хотите показать свою собственную страницу «вам не разрешено делать это», убедитесь, что она превышает 512 байт, иначе IE покажет свое собственное, так называемое friendly сообщение об ошибке вместо этого (см., например, это и это ).

3 голосов
/ 02 июля 2010

Я бы использовал 403. Это означает, что он говорит: пользователю запрещено видеть страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...