2012-08-05 2 views
1

나는 특정 국가의 방문자를 차단하고 싶다고 말하면 어떻게 쓸 수 있습니까?
나는 사용하려고 시도했다. deny from ip
그러나 이것은 올바른 방법이 아닙니다.국가 별 방문자를 차단할 수있는 방법 (Htaccess)

+3

그것은 아니다 100 % 가능하다. 항상 프록시를 사용할 수있다. – nico

+1

이것은 프로그래밍 문제가 아니며, 네트워크 문제이다. Pro [Pro Webmasters] (http://webmasters.stackexchange.com/)에 더 적합 할 것입니다. –

답변

1

올바른 방법은 htaccess를 사용하지 않는 것입니다. ip 간격을 사용하여 이미 채워진 표를 사용하여 일부 국가에서 영향을받는 간격을 알려주는 PHP cheking을 수행 할 수 있습니다.

편집 :

당신이 htacces를 사용하려는 경우, 당신이 (당신이 예를 들어 10 개국을 차단하려고하면, 이것은 초래할 수있는 국가의 각 IP 범위에 대한 deny from ip 라인을 작성해야합니다 엉망이되고 이것이 왜 나쁜 생각입니다).

+1

그냥 htaccess를 사용하지 말라고 말하는 것이 아니라, 왜 이것이 실제로 나쁜 방식이라고 느낀다면 OP에 '거부'를 사용하지 말아야한다고 설명하는 것이 좋습니다. –

1

.htaccess 파일이어야한다면 ipinfodb.com에서 사용할 수있는 자동 생성 도구를 사용할 수 있습니다. 또한 예를 들어 http://freegeoip.net/static/index.html과 같이 Geolocation 서비스의 API를 사용할 수 있습니다.

0

사용하는 방법은 절대로 완전한 것이 아닙니다. 사용자는 프록시를 사용하여 실제 위치와 다른 지리적 위치에 프록시를 표시 할 수 있습니다. 특정 영역에서 사용자가 사이트에 액세스하는 것을 차단하는 것이 중요 할 경우 인증 방법에 대해 IP 주소에 의존하지 않는 여러 가지 방법을 고려해야합니다.

0

Apache의 .htaccess 파일을 사용하여 특정 네트워크를 차단하는 것은 매우 쉽습니다. 예를 들어,

는 221.140.10.0 클래스 C 네트워크에서 트래픽을 차단 ..would 221.140.10.0/24

에서 부정 ... 가산 (AKA 슬래시-24).

특정 국가를 차단하는 것은 해당 국가의 모든 네트워크를 파악한 다음 위와 같은 일련의 항목을 만드는 것입니다.

이 참조 link 당신이 걱정 모두에 대한 performance있는 경우

0

나는 PHP 확장 API를 사용하는 것이 좋습니다 것이 도움이 될 수 있습니다. PHP (C API) 확장을 사용하면 초당 700 만 개의 쿼리를 처리 할 수 ​​있습니다. htaccess는 성능 부작용이있는 것으로 알려져 있습니다.

나는 확장자를 컴파일하는 방법에 의해 국가를 제한하는 PHP의 MMDB 데이터베이스를 사용하는 ISO-3316 2 문자 코드 여기하는 방법에 대해 설명합니다

Intro to Maxmind GeoLite2 with Kohana PHP

Geolocate IP Address