如何配置Apache以允许在PHP中进行身份验证

时间:2016-05-11 12:29:52

标签: php apache

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

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

......但他们都没有为我工作。也许,我的问题很独特。也许不是。

到目前为止, .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";

..... rest继续登录log_in页面。

每次我输入用户名和密码,然后单击提交,登录页面重新加载请求相同。就像他们永远不会被发送一样。

我需要做什么?

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

1 个答案:

答案 0 :(得分:-1)

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

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