使用Apache2或PHP密码保护单个PHP文件,与其他任何东西无关

Sam*_*Sam 0 php apache .htaccess apache2 .htpasswd

亲爱的乡亲,文件夹里面images我想密码保护一个php文件render.php 我已经在该文件夹的.htaccess我以及我的htpasswd文件但他们不工作

文件夹/图像中的.htaccess

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

htpasswd的

admin:818jp2uNLY6ZW     
# generated with http://www.4webhelp.net/us/password.php
Run Code Online (Sandbox Code Playgroud)

INSITE该文件夹,只要我设置该文件夹的htaccess的规则,该文件夹中的所有东西似乎得到古怪处理,CSS文件受到损坏等.为什么这不是工作?

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

非常感谢您的建议!

Lon*_*ars 5

您可以在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;
}
Run Code Online (Sandbox Code Playgroud)