你可以用引用過程來做的事情
您在網站上看到的信息只是這些網站在從網絡服務器傳輸到個人瀏覽器時傳輸的一部分數據,反之亦然。 在幕後也有相當數量的數據傳輸 - 如果你知道如何訪問這些數據,你可能能夠以有趣和有用的方式使用它! 在本文中,我們將看看在這個過程中傳輸的一個特定的數據片段 - HTTP引用器。
什麼是HTTP Referer?
HTTP referer是由Web瀏覽器傳遞給服務器的數據,告訴你讀者在進入此頁面之前所處的頁面。 這些信息可以在您的網站上使用,以提供額外的幫助,為目標用戶創建特殊優惠,將客戶重定向到相關頁面和內容,甚至阻止訪問者進入您的網站。 您還可以使用JavaScript,PHP或ASP等腳本語言來閱讀和評估引薦來源信息。
使用PHP,JavaScript和ASP收集Referer信息
那麼你如何收集這個HTTP引用數據呢? 以下是您可以使用的一些方法:
PHP在一個名為HTTP_REFERER的系統變量中存儲引用者信息。 要在PHP頁面上顯示引用者,你可以寫:
if(isset($ _ SERVER ['HTTP_REFERER'])){
echo $ _SERVER ['HTTP_REFERER'];
}
這將檢查變量是否有值,然後將其打印到屏幕上。 而不是迴聲$ _SERVER ['HTTP_REFERER']; 你會放置腳本行來檢查各種查閱者。
JavaScript使用DOM來讀取引用者。 就像使用PHP一樣,您應該檢查以確保引用者俱有價值。 但是,如果要操縱該值,則應首先將其設置為變量。 下面介紹如何使用JavaScript在頁面上顯示引用者。 請注意,DOM使用引薦來源的替代拼寫,在其中添加一個額外的“r”:
if(document.referrer){
var myReferer = document.referrer;
文件撰寫(myReferer);
}
然後,您可以在變量為myReferer的腳本中使用引用者。
ASP和PHP一樣,將引用者設置為系統變量。 然後你可以收集這樣的信息:
if(Request.ServerVariables(“HTTP_REFERER”)){
Dim myReferer = Request.ServerVariables(“HTTP_REFERER”)
的Response.Write(myReferer)
}
您可以使用變量myReferer根據需要調整腳本。
一旦你有了Referer,你可以用它做什麼?
所以獲取數據是第1步。你如何去取決於你的具體網站。 當然,下一步是找到使用這些信息的方法。
一旦你有了引用者數據,你可以用它來以多種方式編寫你的網站腳本。 你可以做的一件簡單的事情就是發布你認為訪問者來自哪裡。 無可否認,這很無聊,但如果你需要運行一些測試,那可能是一個很好的入門點。
什麼是更有趣的例子是,當你使用引用者顯示不同的信息,取決於他們來自何處 。 例如,您可以執行以下操作:
- 一般歡迎消息
您可以在普通歡迎消息中打印頁面頂部的引薦網址。 正如我上面提到的那樣很無聊,但確實提供了一些基本的個性化。
- 歡迎搜索引擎訪問者
當有人從搜索引擎(即他們的引用者是google.com或bing.com或yahoo.com等)到達您的網站時,您可能希望向他們提供一些額外的信息以鼓勵他們停留更長時間您的網站。 您可以指出自己的時事通訊網址,也可以將它們鏈接到您網站上的一些更受歡迎的網頁。 - 將信息傳遞給表單
如果您的網站上有鏈接以便人們報告網站本身的問題,那麼了解該引薦者可能非常有用。 人們通常會在網頁上報告問題而不指出網址,但是您可以使用引薦者信息猜測他們正在報告的內容。 這個腳本會將引用者添加到一個隱藏的表單域中,允許你在網站上他們可能遇到問題的地方提供一些數據。
- 為某些訪客創建特別優惠
也許你想讓來自特定頁面的人對你的產品或服務達成特別協議。 這是個性化的另一個例子,您正在根據用戶數據塑造他們的用戶體驗和他們看到的內容。例如,如果您銷售各種產品,則可以提供與他們已經看著你的網站。 - 將訪問者發送到其他頁面
您也可以將來自特定參考者的人員完全發送到另一個頁面。 請小心,因為谷歌和其他搜索引擎可能認為這是誤導和懲罰您的網站。
通過Referer阻止用戶使用.htaccess
從安全角度來看,如果您在某個特定域名的網站上遇到大量引薦垃圾內容,它可以幫助您簡單地從您的網站阻止該域名。 如果您使用的是安裝了mod_rewrite的Apache,則可以使用幾行命令來阻止它們。 將以下內容添加到.htaccess文件中 :
重寫引擎
#選項+ FollowSymlinks
RewriteCond%{HTTP_REFERER} spammer \ .com [NC]
RewriteRule。* - [F]
請記住將spammer \ .com一詞更改為您想要阻止的域名。 請記住將\放在域中的任何時段的前面。
不要依賴引用者
請記住,欺騙引薦者是可能的,所以你不應該單獨使用引用者來保證安全。 你可以使用它作為你的其他安全的附加組件,但是如果一個頁面只能被特定的人訪問,那麼你應該使用htaccess為它設置一個密碼 。