2012-09-03 1 views
0

사용자를 다른 도메인으로 리디렉션하고 다시 다시 시작하는 싱글 사인온 (SSO) 기능을 구현했습니다. 당연히 검색 엔진 (우리가 신경 쓰는 사용자)이 리디렉션되지 않도록하려면 수용 가능한 해결책이 무엇입니까?신뢰할 수있는 스파이더를 감지하고 리디렉션하지 않을 수있는 적절한 방법

여기에서 아마 가장 좋은 방법은 실제로 감지 만 실제 사용자를 리디렉션하는 것입니다 내가

$agent = strtolower($_SERVER['HTTP_USER_AGENT']); 
if (strpos($agent, "bot") || 
    strpos($agent, "slurp") || 
    strpos($agent, "crawl") || 
    strpos($agent, "google") || 
    strpos($agent, "teoma") || 
    strpos($agent, "spider") || 
    strpos($agent, "feed") || 
    strpos($agent, "index")) { 
    return null; 
} 

PHP

에서 발견입니까?

답변

0

나는 이것이 가장 신뢰할만한 주류 거미/크롤러 만 식별 할 수있는 허용 가능한 방법이라고 결론을 내 렸습니다. 사용자가 자신의 User Agent 문자열에 위의 항목 중 하나가 있으면 스파이더이거나 다른 것으로 위장한 사람입니다.

물론 사용자 에이전트 문자열에 위 내용을 포함하지 않은 스파이더/크롤러가있을 수 있습니다. 그러면 검색되지 않습니다. 그게 중요하다면이 방법을 사용하지 말고 대신 IP 주소 조회를 사용하는 대체 및 정기적으로 업데이트되는 솔루션을 찾으십시오.

1

사용자의 렌더링 엔진이 있는지 확인하는 것이 좋습니다 대부분의 크롤러는이 문자열을 포함하지 않으므로 Gecko/AppleWebKit/Opera/Trident /와 같은 에이전트 문자열이 필요합니다. 그렇게하면 브라우저를 리디렉션 만합니다.

관련 문제