1

我希望验证我的 Google App Engine (GAE) 网站,制作“仅限会员”页面。我希望将 Google SQL 表中的电子邮件/成员 ID 与 HTTP 身份验证弹出框中的数据输入相匹配,但我遇到了困难。下面是我的 PHP 的概要:

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 上进行这项工作?还有其他地方显示了有关如何在 CGI 模式下获得 HTTP 身份验证的说明(请参阅此处http://www.besthostratings.com/articles/http-auth-php-cgi.html),但它们都指的是 . htaccess 文件,我认为 GAE 不使用它(它使用 .yaml 文件代替)。我可以制作一个身份验证页面,但希望我可以通过不太容易受到攻击的方式进行身份验证。

4

1 回答 1

1

是的,您需要编写一个身份验证页面,根据您的 SQL 表检查用户名和密码。如果它们匹配,那么您可以设置SERVER['PHP_AUTH_USER']会话变量。请记住包含一个重置该变量的注销页面。

于 2015-03-27T18:51:43.373 回答