Защита паролем отдельного файла PHP с помощью Apache2 или PHP независимо от всего остального - PullRequest
0 голосов
/ 11 апреля 2011

Дорогие люди, Внутри папки images Я бы хотел защитить паролем один файл php render.php У меня уже есть в этой папке мой .htaccess, а также мои файлы .htpasswd, однако они не работают

.htaccess в папке / 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, так что здесь должно быть преимущество, верно?

Большое спасибо за ваши предложения!

1 Ответ

5 голосов
/ 11 апреля 2011

Вы можете выполнить эту аутентификацию в 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;
}
...