2012-03-09 71 views
2

下面是這種情況:檢測重定向訪問者

的page1.php中觀衆正在用JavaScript重定向至使page2.php

有沒有辦法知道哪些訪問者停靠於使page2.php是重定向訪問者通過監視Page2.php,如果我根本不使用任何語言中的任何會話和變量?

沒有做/使用:

  • URL處理
  • 餅乾
  • 會議
  • 任何一種變量
  • 絕對沒有改變page1.php中

我米問這是因爲我不希望其他網站發現我有將用戶重定向到他們的網站。

我只是想知道可能性。

+0

你有什麼反對變量? O.o – 2012-03-09 21:02:08

回答

1

只需設置查詢字符串的標誌,當你重定向(查詢字符串添加到您的重定向的位置):

Page2.php?redirect=1

或者,如果您需要引用頁:

Page2.php?referer=Page1.php

然後用$_GET['referer']

檢查您可能能夠讀取$_SERVER['HTTP_REFERER'],但我個人傾向於避免它,因爲它並不總是包含你認爲它應該。

+0

謝謝,但請告訴我在Page2.php上檢測重定向訪問者的可能性無需做/使用:URL操作,Cookie,會話,任何類型的變量。並且在任何服務器端或客戶端語言.........?絕對不要改變Page1.php – baburao113 2012-03-09 21:29:33

1

如果你不想使用服務器端語言,你唯一的選擇是JavaScript。您可以重定向到Page2.php?redirected=true並使用以下代碼GET重定向變量Page2.php

var $_GET = {}; 

document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function() { 
    function decode(s) { 
     return decodeURIComponent(s.split("+").join(" ")); 
    } 

    $_GET[decode(arguments[1])] = decode(arguments[2]); 
}); 

if($_GET['redirected']){ 
    // Redirected from Page1.php! 
} 

來源:當你做重定向how to get GET and POST variables with JQuery?

+0

謝謝,但告訴我可以在Page2.php上檢測重定向的訪問者,而無需做/使用:URL操作,Cookie,會話,任何類型的變量。並且在任何服務器端或客戶端語言.........?絕對不要改變Page1。php – baburao113 2012-03-09 21:29:15

+1

零至無;) – Ray 2012-03-09 23:09:48

1

設置初始頁面上的一個javascript的cookie。

在新頁面上,檢查cookie是否已設置,然後將其刪除。

+0

+1可能是最好的方法。查詢字符串和Cookie不會提升完整性,但Cookie更好。當人們發佈諸如「我不想使用會話」之類的東西時,我總是很困惑,這表明他們不明白*如何使用會話,而不是他們認爲會話,並認爲它不是正確的解。 – 2012-03-09 21:16:06

+0

告訴我在Page2.php上檢測重定向訪問者的可能性無需做/使用: URL操作,Cookie,會話,任何類型的變量。並且在任何服務器端或客戶端語言.........? 絕對不會改變Page1.php – baburao113 2012-03-09 21:27:48

+0

@ baburao113:爲什麼祈禱告訴你是否避免使用所選編程語言的所有基本內置工具,這將使得這非常簡單?嚴重的是,你期待什麼:魔法? – 2012-03-09 21:29:20