![디렉토리를 비밀번호로 보호하기 위해 .htaccess를 추가한 후 PHP 스크립트가 실패합니다.](https://rvso.com/image/652669/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A1%9C%20%EB%B3%B4%ED%98%B8%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20.htaccess%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%9C%20%ED%9B%84%20PHP%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EA%B0%80%20%EC%8B%A4%ED%8C%A8%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 추가했다.htaccess그리고.htpasswd비밀번호로 보호하려면 해당 디렉토리로 이동하세요. 그 부분이 작동합니다.
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/.htpasswd
Require valid-user
그러나 이제 이 디렉토리 내의 PHP 스크립트는 실행되지 않습니다.
error.log는 다음을 보여줍니다:
failed to open stream: HTTP request failed! HTTP/1.1 401 Authorization Required
불평하는 스크립트의 줄은 다음과 같습니다.
$data = file("http://site/script1.php");
$data2 = file("http://site/script2.php");
$data3 = file("http://site/script3.php");
이 디렉토리에서 PHP 실행을 허용하려면 .htaccess 파일에 뭔가를 추가해야 합니까?
편집하다:
하...글쎄요. 문제를 해결했어요. 전체 디렉토리가 아닌 문제의 PHP 스크립트를 비밀번호로 보호했습니다.
<Files "script.php">
require valid-user
</Files>
답변1
PHP 스크립트가 HTTP 요청을 통해 사이트에서 일부 페이지를 가져오려고 하면 이런 일이 발생합니다.
요청에 HTTP 인증 정보를 추가하거나 이러한 HTTP 요청을 수행하지 않도록 스크립트를 변경해야 합니다.