>백엔드 개발 >PHP 튜토리얼 >PHP는 지정된 IP 세그먼트_php 예제에서 사용자의 액세스 차단을 구현합니다.

PHP는 지정된 IP 세그먼트_php 예제에서 사용자의 액세스 차단을 구현합니다.

WBOY
WBOY원래의
2016-05-16 20:16:271210검색

이 기간 동안 통계 도구에서 알 수 없는 브라우저와 알 수 없는 운영 체제를 사용하는 사용자의 요청이 자주 발생했으며 IP 주소가 모두 동일한 세그먼트에 있으므로 이러한 사용자가 있는지 궁금합니다. 유효한 사용자로 간주됩니까? 브라우저나 운영체제에 의한 웹사이트 방문 기록은 없습니다. 며칠 간의 분석 끝에 이러한 방문이 사람이 하는 것이 아니라 내 사이트에서 콘텐츠를 수집하는 기계나 다른 사람에 의해 이루어진 것임을 확인했습니다. 이 IP 주소.

통계에서 브라우저 기록 없이 사용자 데이터를 내보내서 살펴보세요. IP를 차단하는 것은 더 이상 실용적이지 않습니다. IP가 100개가 넘지만, 잘 살펴보면 이러한 IP가 집중되어 있음을 알 수 있습니다. 특정 IP 블록에서. 전체 IP 범위에서 사용자를 차단하는 방법을 찾으십시오. 이로 인해 일부 우발적인 사망이 발생할 수 있지만 웹 사이트 트래픽이 깨끗한지 확인할 수 있습니다.

알겠습니다. 더 이상 헛소리는 하지 않겠습니다. 아래는 저의 구현 아이디어와 코드에 대한 소개입니다

IP 세그먼트 111.11.11.11의 처음 두 끝을 차단하고 싶습니다. 111.11로 시작하는 이 IP 세그먼트에 대한 액세스를 차단하고 싶습니다.

제 구현 아이디어는 차단할 IP를 배열에 저장한 다음 획득한 사용자 IP를 사용하여 배열에 있으면 차단하고 배열에 없으면 차단하는 것입니다. 배열이면 허용됩니다.

서브를 해보자. 너무 힘들군요. 불평하지 마세요

/** 
 * 屏蔽IP段 
 */ 
function killIp($ip){ 
  $return = false; 
  $ip1 = array('111', '112', '102', '114'); 
  $ip2 = array('1', '2', '3', '4', '5'); 
  $temp = explode('.', $ip); 
  if (in_array($temp[0], $ip1) && in_array($temp[1], $ip2)) { 
    $return = true; 
  } 
  return $return; 
} 

위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.