密码使用Apache2和PHP独立保护单个PHP文件

时间:2011-04-11 03:14:21

标签: php apache .htaccess apache2 .htpasswd

亲爱的朋友们, 在文件夹images内我想用密码保护单个php文件render.php 我已经在该文件夹中有我的.htaccess以及我的.htpasswd文件,但是它们不起作用

文件夹/ images中的

.htaccess

// does not work ??
<Files render.php>
  AuthName "Login"
  AuthType Basic
  AuthUserFile /var/www/vhosts/site.com/httpdocs/images/.htpasswd
  require valid-user
</FilesMatch>

htpasswd的

admin:818jp2uNLY6ZW     
# generated with http://www.4webhelp.net/us/password.php

一旦我在该文件夹的htaccess中设置规则,该文件夹中的所有内容似乎都被奇怪地处理,css文件确实该文件夹被损坏等等。为什么这不起作用?

PS我也完全没问题(实际上更愿意,如果可能的话)在php文件本身中使用密码设置,这样我肯定没有其他任何东西受到影响而不仅仅是那个php文件,无论其名称或位置(可能更优雅和时间)虽然我看到每个人都使用htaccess所以必须有优势,对吗?

非常感谢您的建议!

1 个答案:

答案 0 :(得分:5)

您可以在PHP as shown in the manual中执行此身份验证:

<?php
if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER'] != 'admin' || $_SERVER['PHP_AUTH_PW'] != 'foobar') {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Unauthorized';
    exit;
}