Apache .htaccess는 외부 도메인을 차단하지 않습니다.

Apache .htaccess는 외부 도메인을 차단하지 않습니다.

필수 401 인증에 도달하고 관련 브라우저 프롬프트를 받기 때문에 .htaccess에 문제가 있습니다. 그러나 브라우저에서 "취소"를 클릭하면 사이트가 계속 로드됩니다(단, 외부 도메인의 콘텐츠만 로드됩니다). 즉, 내가 보는 것은 다음과 같습니다.

  1. 나는 방문한다http://staging.mywebsite.example.com
  2. 브라우저에 비밀번호 프롬프트가 표시되고 취소를 클릭합니다.
  3. 외부 콘텐츠는 화면의 콘텐츠를 렌더링합니다. 즉, Firebug를 보면 콘텐츠가 외부 도메인에서 로드되는 것을 볼 수 있습니다.http://mywebsite.example.com(예: 스테이징 사이트 아님) 및 다양한 외부 콘텐츠(예: Google Analytics 등)

다음 명령을 실행하고 있습니다(CloudLinux의 cPanel).

  • CloudLinux 버전 7.2
  • 아파치/2.4.18
  • Linux 3.10.0-427.10.1.lve1.4.7.el7.x86_64 #1 SMP 4월 2일 토요일 12:09:46 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

내 .htaccess는 다음과 같습니다.

AuthType Basic
AuthName “Hello world ! “
AuthUserFile "/home/base/.htpasswds/public_html/passwd"
require valid-user
## JOOMLA STUFF
IndexIgnore *
Options +FollowSymlinks
Options -Indexes
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

관련 정보