密码保护一个PHP文件与Apache2或PHP独立于其他任何东西


Passwordprotecting a Single PHP file with Apache2 or PHP independantly from anything else

各位:在文件夹images我想密码保护一个php文件render.php我已经在那个文件夹里有。htaccess和。htpasswd文件但是它们不起作用

in folder/images

// 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,所以这一定有一个优势,对吧?

非常感谢你的建议!

您可以在PHP中执行此授权,如手册所示:

<?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;
}