1

Я надеялся аутентифицировать свой сайт Google App Engine (GAE), создав страницу «только для участников». Я надеялся сопоставить электронные письма/идентификаторы участников в таблице Google SQL для ввода данных во всплывающем окне HTTP Authentication, но у меня возникают трудности. Ниже приводится общая схема моего PHP:HTTP-аутентификация в Google App Engine

if (!isset($_SERVER['PHP_AUTH_USER'])) { 
    header('WWW-Authenticate: Basic realm="Please enter your email in the username box and member ID in the password box"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    echo 'Login credentials required for this Premium Content page.';} 
else { 
    //Verify that the user has the proper credentials 
} 

Похоже SERVER [ «PHP_AUTH_USER»] никогда не установлен, указывая, что PHP работает в режиме CGI. Как мне сделать эту работу в Google App Engine? Существуют и другие места, где показаны указания о том, как получить HTTP-аутентификацию, работающую в режиме CGI (см. Здесь http://www.besthostratings.com/articles/http-auth-php-cgi.html), но все они относятся к файлу .htaccess, который я не думаю, что использует GAE (вместо этого он использует файл .yaml) , Я мог бы просто сделать страницу аутентификации, но надеялся, что смогу пройти аутентификацию с помощью средств, которые менее уязвимы.

ответ

1

Да, вам нужно будет написать страницу аутентификации, которая проверяет имя пользователя и пароль на вашу таблицу SQL. Если они совпадают, вы можете установить переменную сеанса SERVER['PHP_AUTH_USER']. Не забудьте включить страницу выхода, которая сбрасывает эту переменную.

+0

Удивительный! Звучит хорошо! Благодаря!!! – WXMan