如何防止我的asp.net 3.5網站被我的競爭對手刮屏? 理想情況下,我想確保沒有webbots或screenscrapers可以從我的網站提取數據。如何防止我的asp.net網站被屏幕刮掉?
有沒有辦法檢測到有webbot或屏幕刮板運行?
如何防止我的asp.net 3.5網站被我的競爭對手刮屏? 理想情況下,我想確保沒有webbots或screenscrapers可以從我的網站提取數據。如何防止我的asp.net網站被屏幕刮掉?
有沒有辦法檢測到有webbot或屏幕刮板運行?
有可能嘗試檢測畫面擷取:
使用cookies和時機,這將使它更難對於那些開箱畫面擷取的。同時檢查javascript的支持,大多數刮板沒有它。檢查Meta瀏覽器數據以驗證它確實是一個Web瀏覽器。
您還可以在一分鐘內檢查請求,驅動瀏覽器的用戶每分鐘只能發出少量請求,因此服務器上每分鐘檢測到太多請求的邏輯可以假定屏幕正在發生抓取並阻止在一段時間內訪問有問題的IP地址。如果這開始影響搜尋器,請記錄被阻止的用戶IP,並根據需要開始允許其IP。
您也可以使用http://www.copyscape.com/來處理您的內容,這至少會告訴您誰在重複使用您的數據。
看到這個問題也:
Protection from screen scraping
而且看看
尼斯DOC約屏幕抓取:
如何防止屏幕抓取:
http://mvark.blogspot.com/2007/02/how-to-prevent-screen-scraping.html
+1好答案。但是......我擊敗了大部分守衛,因此我的答案是。 ;-) – 2010-04-24 17:49:01
他的問題是,是否有可能檢測到。這是,並且很容易讓編寫一個程序來刮擦網站變得很痛苦,但這不是100%,但會讓它變得更難。如果用戶可以在瀏覽器中顯示它,則可以編寫腳本,除非使用驗證碼訪問您不想要的信息。 – 2010-04-24 17:51:01
是的,你是對的。我有責任回答不同的問題。 – 2010-04-24 20:23:30
我認爲不驗證用戶訪問您的網站是不可能的。
@Raj,所以認證將阻止(當然競爭可以註冊並運行一個S/S) – user279521 2010-04-24 17:26:34
認證甚至不會妨礙它,如果他們想湊他們將腳本指出,過程中容易。 – 2010-04-24 17:30:59
不確定您是否擁有可訪問您的應用的授權用戶列表。顯然,這不是這種情況。 – 2010-04-24 21:45:23
最終你不能阻止這一點。
您可以通過設置robots.txt文件等方式讓人們更難做到。但是,您必須將信息傳送到合法用戶的屏幕上,以便以某種方式提供服務,並且如果是這樣競爭對手可以得到它。
如果您強制用戶登錄,您可以隨時停止機器人,但無論如何也沒有什麼能阻止競爭對手爲您的網站註冊。如果他們無法訪問「免費」的某些信息,這也可能會驅使潛在客戶離開。
@ChrisF,有沒有辦法檢測到有webbot或screen scraper運行? – user279521 2010-04-24 17:25:45
@user - 看看這方面比我更有經驗的人的其他答案 – ChrisF 2010-04-24 17:31:01
我不認爲這是可能的。但是無論你會提出什麼,這對於搜索引擎優化和競爭對手都是一樣糟糕。這真的很可取嗎?
如何文本的每一位成爲了爲圖像?一旦完成,無論是你的競爭對手將被迫投資OCR技術,或者你會發現你沒有用戶 - 所以這個問題將是沒有意義的。
您可以使用驗證碼。
此外,您還可以通過限制其連接,而不是減輕它。它不會完全阻止他們屏幕抓取,但它可能會阻止他們獲得足夠的數據來實現。
首先,對於用戶的Cookie,油門連接,所以你可以看到以每秒最多一個頁面視圖,但一旦你的1秒計時器到了你體驗沒有任何限制。對普通用戶沒有影響,對屏幕刮板有很大的影響(至少如果你有很多頁面他們的目標)。
接下來,需要cookies來查看數據敏感的頁面。
,他們將能夠獲得,但只要你不接受假餅乾,他們將不能夠屏幕刮多少與任何真實的速度。
@AndrewBarber ... OP不要求代碼。 – Csharp 2013-07-19 20:10:35