2011-05-11 4 views
0

나는 비슷 두 개의 도메인을 가지고 PHP HTTP_REFERER를 사용하여 특별한 메시지를 표시 할 수 있습니까?

mysite1.com과 하나의 호스팅 계정에 mysite2.com

나는 하나 개의 호스팅 계정이 있고 내가 (에서 GoDaddy를 통해) 앞으로 다른 사이트를을

.

mysite2.com URL에서 사이트를 방문한 사용자에게 메시지를 표시하고 싶습니다.

PHP HTTP_REFERER를 사용할 수 있다고 생각했습니다.

이 방법이 있습니까?

+0

이미 시도한 것은 무엇입니까? 프로그래머이고 [문서] (http://php.net/manual/en/reserved.variables.server.php)를 읽을 수 있다면, 당신이 그것을 만들 수있을 것이라 확신합니다. – Lekensteyn

+1

http://stackoverflow.com/questions/4909443/using-php-serverhttp-referer-to-display-custom-welcome-messages-content/4909452#4909452 아마 당신이 찾는 대답이있을 것입니다. 속는 사람이 아니라 가까이에. –

+0

URL에 특수 플래그를 포함하도록 리디렉션을 변경할 수 있습니까? HTTP_REFERRER는 브라우저가 보내는 선택적 헤더이므로 신뢰할 수 없습니다. –

답변

3
if(preg_match('@mysite2\[email protected]', $_SERVER['HTTP_REFERER'])) { 
    print 'Special message!'; 
} 
+0

'http : //google.com/search? q = mysite2.com'과도 일치합니다. – Lekensteyn

+0

님은 현재 방문자가 ** 현재 ** 도메인을 결정하는 데 '$ _SERVER ['HTTP_HOST ']'을 (를) 사용하는 것이 더 적절한 변수가 아니십니까? – Dutchie432

+0

@ Dutchie432 : GoDaddy가 호스팅하는 하나의 HTML 페이지로 실제 사이트로 리디렉션됩니다. 따라서 '$ _SERVER ['HTTP_HOST ']'는 차이점을 말하지 않습니다. 나는 다른 호스트가 같은 일을하는 것을 보았습니다. GoDaddy도 똑같은 일을 할 것입니다. 하지만 그보다는 네 말이 맞아. – Lekensteyn

0

실제로, HTTP_REFERER은 사용자가 현재 페이지의 이전 위치를 알려줍니다. 제 생각에는 $_SERVER['HTTP_HOST']을 대신 사용하려고합니다. 이렇게하면 항상 사용자가 인 도메인이 생성됩니다. ... mysite1.com 또는 mysite2.com

관련 문제