我只想保護每個請求後顯示的特定號碼。大約有30個這樣的數字。我打算在這些數字的位置生成圖像,但是如果圖像沒有像captcha那樣扭曲,那麼無論腳本是否能夠解碼數字?另外,加載圖像對文本的性能影響有多大?如何保護我的網頁上某些數據的抓取?
回答
這是不可能的。
- 您使用javascript和加密頁面,解密後使用document.write()調用。我要麼從瀏覽器的顯示屏中刪除,要麼通過JS引擎提供頁面以獲取輸出。
- 您使用Flash。我可以插入Flash文件並獲取值。你可以在閃存中對它們進行加密,然後我可以運行它,然後將解釋器顯示的輸出作爲一系列圖像抓取。
- 您使用圖像,我可以通過OCR餵食它們。
你在軍備競賽。你需要做的是讓你的信息如此有用,並且你的網頁如此易於使用,以至於你成爲權威來源。定期更改輸出格式以跟上變化也很方便,但除非您做出徹底的改變,否則屏幕刮板可以處理這些格式。根本性的改變將用戶驅走,因爲他們對這個頁面一直不熟悉。
你的影像解決方案不會」幫助很大,並且圖像是遠遠效率較低。一個數字在HTML編碼中通常只有幾個字節長。圖像從幾百字節開始,根據您想要的大小展開到1k或更多。圖像也不會呈現在用戶爲其瀏覽器窗口選擇的字體中,並且對使用輔助計算設備(視覺受損的人)的人無用。
生成包含這些數字的圖像並顯示圖像。 :-)
我不能相信我提倡常見的惡意軟件的腳本的戰術,但是......
你可以編碼號碼作爲都在運行時呈現編碼的JavaScript。
除了圖片之外,您可以使用JavaScript或Flash顯示數字。
你也可以使用CSS來使用的絕對或相對位置的不同組合個別數字的位置。 您也可以使用JavaScript來幫助您創建這些DIV。 重點只是混淆,它變得非常困難。
還有一個解決方案是使用片段或單點和圖像重新構建的使用CSS,有點像一個點陣顯示數字的圖像。 您可以用這些絕對定位的DIV散佈頁面的源代碼,並且通過動態創建它們再次使其更難以重建。
無論如何,你不能從獲取到的數據停止確定刮板:它並不需要很多的自動化網絡瀏覽器,並採取能夠被饋送到OCR截圖。 無論如何,沒有任何人能夠通過人手來獲取數據。
問題是:如何確定是你的對手(用戶?)。
這有點像軟件保護業務:讓事情變得足夠強大以至於阻止偶然的「盜版」並不難,而且這是一個相當不錯的方法。
但是,如果在你目前的數據有多大價值,還有什麼可以真正做到保護它。
所有你可以做到這一點,使得休閒「盜賊」更願意繼續爲你的服務付費,而不是繞過它。
你能提供一些關於你在做什麼的更多細節嗎?當然,創作一張圖片會有一個性能上的衝擊,而不是傾倒出一個數字的文字,但是你每隔多久會這樣做?
使用JavaScript與使用文本相同。這對逆向工程來說是微不足道的。
的Javascript很可能是最容易實現的,但你可以得到真正的創意,並通過將圖層上無效的電話號碼之上,錯了數字融合到背景中,或使有一定的人被看到很多大的塊它們通過css和半隨機生成的類名不可見。
只有這樣,才能確保壞傢伙沒有得到你的數據不與任何人分享。任何其他解決方案實質上都是與屏幕刮刀進行軍備競賽。無論如何,你們其中一人會發現這場軍備競賽過於昂貴而無法繼續。如果您分享的數據具有任何可感知的價值,那麼屏幕刮板可能會非常確定。
這是真的,基本上如果你免費贈送它,那麼你可以做的事情不多,以阻止人們接受它 – nailitdown 2009-02-27 06:02:08
使用閃光燈使用動畫數字。這可能不是傻瓜證明,但它會使它更難以破解。
如何發佈大量的虛擬數字並顯示正確的外部CSS?只要刮刀不開始解析外部CSS。
對於所有那些建議使用Javascript,CSS或混淆的數字,那麼有可能是變通的辦法。 Firefox有一個名爲abduction的插件。基本上它所做的就是將頁面保存爲一個圖像文件。您可以修改此插件來保存圖像,然後分析圖像以找出試圖隱藏的祕密編號。
基本上,如果你的身後從網頁抓取這些數字足夠的激勵,那麼它會做。否則,只需發佈一個常規號碼,讓用戶更容易,這樣他們就不用擔心無法複製和粘貼號碼或其他類似問題,從而導致此欺騙。
只是做一些意想不到的和奇怪的(每次不同)w/CSS框模型。強制他們實際使用瀏覽器支持的screenscraper。
我不認爲這是可能的,你可以使自己的工作更難(使用圖像作爲一些建議在這裏),但是這是你能做的一切,你不能從獲取數據,如果停止一個有決心的人,不想讓他們刮您的數據,並沒有公佈它,就這麼簡單......
假設這些數字通常被更新(如果他們沒有那麼保護他們完全是沒有實際意義的人可以只用手抄錄)可以限制通過節流的自動刮取。一個自動腳本必須經常打你的網站來檢查更新,如果你可以限制這些檢查你贏了,而不訴諸混淆。請參閱this question。
我認爲你們對這些解決方案的反應太強烈。 Javascript,Capcha,甚至訴訟和DMCA流程都沒有解決網絡抓取和數據竊取的複雜適應性問題。難道你不認爲用於實時主動緩解策略的「理想」解決方案可以防止惡意機器人和網站欺詐嗎?與內容保護網絡非常相似。只是說'n。
例子:
IBM - IBM ISS Data Security Services
提煉 - www.distil.it
- 1. 如何從受Shibboleth保護的網站上抓取數據?
- 2. 如何從網頁上抓取數據?
- 3. 如何抓取登錄保護頁面?
- 4. 如何動態保護某些頁面?
- 5. 如何抓取頁面上的某些文字?
- 6. R - RCurl從受密碼保護的網站抓取數據
- 7. 如何使用NHibernate並保護某些表的數據?
- 8. 解析XML(抓取某些數據)
- 9. 如何從網站上抓取數據
- 10. 抓取密碼保護網站
- 11. 刮掉某些數據的網頁
- 12. 排除某些網址被抓取
- 13. 當我找到值時,如何停止網頁抓取數據?
- 14. 如何使用BeauitfulSoup從多個網頁上抓取數據?
- 15. 如何保護Access數據庫,並限制某些計算機
- 16. 如何抓取我內部網站上的所有頁面?
- 17. 如何保護網頁
- 18. 如何抓取網頁?
- 19. 如何從我們正在爬行的網頁上的鏈接網頁抓取數據
- 20. 如何在網頁抓取時獲取數值數據?
- 21. 如何從抓取工具獲取數據到我的網站?
- 22. JS網頁抓取沒有找到某些元素
- 23. 無法使用python和beautifulsoup在網頁中抓取某些href
- 24. 抓取某個網頁與Python
- 25. 如何從C#/ XAML中的網頁抓取數據
- 26. 如何從網頁的JSON/Javascript中抓取數據?
- 27. 如何讓Google抓取需要會話數據的網頁?
- 28. 如何保護我的GeoJSON數據?
- 29. 網頁抓取/抓取的資源
- 30. 從「angular.callbacks」網頁抓取數據
使用JS,你可以一次DOM已準備就緒,在一個批處理加載所有這些數字做一個AJAX請求。然後將它們分配給適當的元素。請記住,只有當JS在刮邊時關閉纔有效。 – 2009-02-27 00:38:52