Google App Engine 上的 HTTP 身份验证
HTTP Authentication on Google App Engine
我希望验证我的 Google App Engine (GAE) 网站,制作一个 "members only" 页面。我希望将 Google SQL table 中的 emails/member 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 上进行这项工作?还有其他地方显示了如何让 HTTP 身份验证在 CGI 模式下工作的说明(请参阅此处 http://www.besthostratings.com/articles/http-auth-php-cgi.html),但它们都引用了 .htaccess 文件,我认为 GAE 不使用它(它使用 .htaccess 文件)。 yaml 文件)。我可以只制作一个身份验证页面,但希望我可以通过不易受攻击的方式进行身份验证。
是的,您需要编写一个身份验证页面,根据您的 SQL table 检查用户名和密码。如果它们匹配,那么您可以设置 SERVER['PHP_AUTH_USER']
会话变量。请记住包含一个用于重置该变量的注销页面。
我希望验证我的 Google App Engine (GAE) 网站,制作一个 "members only" 页面。我希望将 Google SQL table 中的 emails/member 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 上进行这项工作?还有其他地方显示了如何让 HTTP 身份验证在 CGI 模式下工作的说明(请参阅此处 http://www.besthostratings.com/articles/http-auth-php-cgi.html),但它们都引用了 .htaccess 文件,我认为 GAE 不使用它(它使用 .htaccess 文件)。 yaml 文件)。我可以只制作一个身份验证页面,但希望我可以通过不易受攻击的方式进行身份验证。
是的,您需要编写一个身份验证页面,根据您的 SQL table 检查用户名和密码。如果它们匹配,那么您可以设置 SERVER['PHP_AUTH_USER']
会话变量。请记住包含一个用于重置该变量的注销页面。