.htaccess 파일에서 IDN 도메인을 차단하거나 특수/국제화 태그가 있는 도메인만 차단하려면 어떻게 해야 합니까? 또한 .ru
.de
이와 같은 URL을 차단하고 싶습니다 .
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*xxx\.com [NC]
RewriteRule .* - [F]
</IfModule>
저는 이를 사용하여 웹사이트와 하위 사이트를 차단합니다. 하지만 다음과 같은 특수 마커가 포함된 도메인을 차단하고 싶습니다. ąłść
xxx.com 주소가 포함된 도메인이 아니라 특수 마커가 포함된 모든 사이트를 차단하고 싶습니다. 그 이름은 IDN입니다.
답변1
Apache가 내부적으로 IDN을 명시적으로 지원하지 않고, 표시된 도메인을 통해 IDN을 지원한다는 테스트되지 않은 가정을 기반으로 다음으로 시작하는 Punycode 인코딩 버전으로 IDN을 식별할 수 있습니다 xn--
.
RewriteCond %{HTTP_REFERER} ^https?://.*xn--.* [NC]
이는 특정 요구 사항에 맞게 조정해야 할 수도 있습니다(아마도 이보다 더 엄격하거나 덜 엄격하기를 원할 것입니다).