여기에 거래가 있습니다 Google 검색 리퍼러에서 내 사이트로 방문자 만 받아 들여야합니다 URL 표시 줄에 "domain.com"을 입력하면 "domain.com" "일어나야합니다. 다른 사람이 나에게 PHP 코드를 보여줄 수 있습니까? 감사합니다.uniqe 리퍼러에서 방문자 수락
답변
언제든지 $_SERVER['HTTP_REFERER']
을 확인하고 Google 검색 페이지가 아닌 경우 https://www.google.co.in/search?q=yourwebsite.com으로 리디렉션 할 수 있습니다. 그러나 이것은 Google 스팸 검색을 유발할 수 있으므로 효율적이지 않습니다. 나는 스팸 탐지에 대해 완전히 확신하지는 않지만, 내 의견으로는 더 나은 대안을 제안 할 수있다.
//say your website URL is example.com. Someone landed in example.com
$url = $_SERVER['HTTP_REFERER'];
$host = parse_url ($url, PHP_URL_HOST);
if (strstr ($host, 'www.google.')) {
//someone can still spoof this. If you need more restriction, you need to check all google regional domains explicitly.
//https://en.wikipedia.org/wiki/List_of_Google_domains
header('Location: example.com/welcome');
} else{
header('Location: example.com/redirect');
}
이제 redirect
페이지에서 트릭을해야합니다. 양식을 자동으로 채우고 자바 스크립트를 사용하여 자동 제출하십시오.
<form id="myForm" action="https://www.google.com/search" method="get">
<input type="hidden" name="q" lang="en" value="example.com">
</form>
<script type="text/javascript">
document.getElementById('myForm').submit();
</script>
이제 사용자는 Google 검색 결과 페이지로 이동하게되고 귀하의 웹 사이트가 물론 첫 번째 결과가됩니다.
나는 그것을 시도합니다. 감사합니다. – Joti
양식 메서드를 실수로'post '로 게시했지만'get'이어야합니다. 나는 두 번째 코드를 테스트했다. 잘 작동하고있다. –
다음 단계로 더 설명해 주시겠습니까? 정확히 무엇을 찾고 있습니까? –
내 방문자는 직접 연결이 아닌 Google 검색에서만 제공됩니다. 따라서 브라우저에서 내 도메인을 입력하면 내 웹 사이트의 검색 결과로 리디렉션되어야합니다. 내가 index.php에 몇 가지 코드를 추가해야한다고 생각하지만, 무엇을 알지 못한다. 내가 분명했으면 좋겠어 – Joti
[$ \ _ SERVER \ [ 'HTTP \ _REFERER'\]를 사용하여 사용자가 Google에서 왔는지 어떻게 알아낼 수 있습니까?] (http://stackoverflow.com/questions/10613025/how- can-i-use-serverhttp-referer-to-find-that-user-from-google) –