【问题标题】:How to configure Apache to allow authentication in PHP如何配置 Apache 以允许在 PHP 中进行身份验证
【发布时间】:2016-09-06 20:40:38
【问题描述】:

我的登录页面不像在 localhost 中那样工作。我重构了 PHP 页面和相关脚本,但在我的搜索中偶然发现 Apache-PHP-module 配置问题之前没有任何效果。

我已阅读并尝试过以下建议:

...但它们都不适合我。也许,我的问题是独一无二的。也许不会。

到目前为止, .htaccess 有:

    <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteBase /
     RewriteRule ^index\.php$ - [L]
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule . /index.php [L]
     </IfModule>

     RewriteEngine On
     RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{HTTP_HOST} ^genieverse.com [NC]
RewriteRule ^(.*)$ http://www.my_site.com/$1 [L,R=301]

虽然 log_in.php 有:

 //Get custom error function script
require_once('Server_Includes/scripts/common_scripts/feature_error_message.php');

if(preg_match('/Basic\s+(.*)$/i', $_SERVER['HTTP_AUTHORIZATION'],      $matches))
{ list($the_name,  $the_password) = explode(':', base64_decode($matches[1]));
$_SERVER['PHP_AUTH_USER'] = strip_tags($the_name);
$_SERVER['PHP_AUTH_PW'] = strip_tags($the_password); }
//Filter incoming values
$username    =    (isset($_POST["username"])) ? trim($_POST["username"])    :     "Username";
$password = (isset($_POST["password"])) ? trim($_POST["password"])    :    "Password";

.....休息继续登录页面表单。

每次我输入用户名和密码然后单击提交,登录页面重新加载请求相同。就好像它们从未发送过一样。

我到底需要做什么?

PS: Web 服务器是共享主机,Apache 2.2.31,PHP 5.4.45

【问题讨论】:

    标签: php apache


    【解决方案1】:

    没关系。我已经解决了: 我上传了一个自定义 php.ini 文件。它包括: session.auto_start = 开启

    但这没有用。任何形式的 htaccess hack 都没有工作。所以我创建了一个 phpinfo.php 文件:

    【讨论】:

      猜你喜欢
      • 2015-12-25
      • 2019-12-21
      • 2020-02-28
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      相关资源
      最近更新 更多