2013-09-25 5 views
0

Google 애널리틱스 쿠키를 확인하거나 사용자가 내 사이트를 방문한 곳을 확인하는 방법이 확실하지 않습니다. 기본적으로 숨겨진 필드가있는 양식이 있습니다 code="XY1" 이제 페이스 북에서 온 사람들에 대해 다른 사전 설정 코드를 삽입 할 수 있어야하므로 스크립트에서 방문자가 어디서 왔는지 확인한 다음 코드 XF1을 할당해야합니다 등 FB, 트위터에서 어느 코드 XT1,방문자 추천에 따라 자바 스크립트 (또는 PHP) 값을 양식에 삽입 할 수 있습니까?

겠습니까의 캡처?

$referringPage = parse_url($_SERVER['HTTP_REFERER']); 
if (stristr($referringPage['host'], 'facebook.com')) 

이 PHP 작업과 같은 또는이 JS

var ref = document.referrer; 

if (!ref.indexOf("facebook.com") != -1) { 
    document.write(...) 
} 

에서 나는 아니에요 그것을 수행하는 가장 좋은 방법은 무엇이며 어떤 종류의 메토인지 ds는 방문자의 출처를 신뢰할 수있게 확인할 수 있으므로 모든 도움을 주시면 감사하겠습니다.

+0

HTTP_REFERER 브라우저 설정, 매우 신뢰할 수없는 –

답변

2

$_SERVER['HTTP_REFERER']을 사용할 수는 있지만 정확하지는 않으며 현재까지는 보장 할 수 없습니다. 모든 브라우저가 반드시 설정해야하는 것은 아니며 일부 브라우저는 사용자가 직접 설정할 수 있습니다. Google 쿠키는 사이트 기록을 포함하지 않으며 브라우저 기록을 검사 할 수 없으므로 요청하는 것을 보장 할 방법이 없습니다.

0

jquery $ .test() 메소드를 사용하여이 옵션을 시도 할 수 있습니다.

$(function(){ 
    var referer=document.referrer, //option 1 
    //referer="<?php echo $_SERVER['HTTP_REFERER'];?>",//optional 2 
    XFB=/facebook.com/g, 
    XFT=/twitter.com/g, 
    checkF1=XFB.test(referer), 
    checkF2=XFT.test(referer); 
if(checkF1){ 
    var code= "XF1"; 
    $('#hiddenInput').attr('value','ref: '+referer) 

} 
else if(checkF2){ 
    var code= "XT1"; 
$('#hiddenInput').attr('value','ref: '+referer) 
} 
}); 
+0

이 재미입니다, PHP에 대한 document.referrer HTTP_REFERER만큼 정확합니까? 또한 원래의 방문 페이지를 지나친 부분을 추적하지 못합니다. 양식에 가기 전에 방문자가 사이트를 클릭하면 스크립트가 작동하도록 쿠키를 여기에 통합하려면 어떻게해야합니까? – Epleroma

+0

네, PHP와 자바 스크립트 모두 잘 동작합니다. 스크립트로 모든 페이지를 추적하려면 모든 페이지에 포함시켜야합니다. 양식이 없어야합니다. 데이터를 .txt 파일이나 ajax를 사용하는 데이터베이스에 저장하십시오. 그래서 각 페이지에서 이와 같은 것을 말하게하십시오. 내 다음 설명 참조 ............... – ShapCyber

+0

$ (function() { localstorage.location = document.location; localStorage.referrer = document.referrer; // 아시다시피 "로컬 스토리지는 'PHP 동일한 $의 _SESSION가 VAR 위치 = localStorage.location, 추천자 = localStorage.referrer, XFB =/facebook.com/g, XFT =/twitter.com/g, checkF1 = XFB .test (참조 자), checkF2 = XFT.test (리퍼러) 경우 (checkF1) {var에 코드 = "XF1";} 다른 경우 (checkF2) {var에 코드 = "XT1";} // Ajax는 다음 코멘트를 참조하십시오. // 경고 (위치 + 참조 자); // 테스트를 위해서만 ajax url이 유효한지 확인하십시오 }); $ .post – ShapCyber