Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP로 검색 엔진 봇을 감지하는 방법은 무엇입니까?

<시간/>

스파이더 이름의 검색 엔진 디렉토리를 참조로 사용할 수 있습니다. 다음으로 $_SERVER['HTTP_USER_AGENT']; 에이전트가 스파이더(봇)인지 확인하는 데 사용할 수 있습니다.

다음은 동일한 것을 보여주는 예입니다 -

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "some_bot_name")) { //사용해야 하는 기타 단계}

코드 설명 − 에이전트는 사용자 에이전트와 함께 strtolower 함수로 전달되고, 그 출력은 차례로 strstr 함수로 전달됩니다. 스파이더가 봇인지 아닌지 확인하기 위해 사용자 에이전트와 봇을 모두 비교합니다.

또 다른 옵션이 아래에 나와 있습니다 -

function _bot_detected() { return ( isset($_SERVER['HTTP_USER_AGENT']) &&preg_match('/bot|crawl|slurp|spider|mediapartners/i', $_SERVER['HTTP_USER_AGENT']);} 

코드 설명 − preg_match 함수는 문자열에서 특정 패턴을 찾는 데 도움이 됩니다. preg_match 함수에 봇 이름을 전달하고 스파이더가 검색 엔진 봇인지 여부를 감지하는 사용자 에이전트와 비교됩니다.