2010-04-24 20 views
9

Wie kann ich verhindern, dass meine asp.net 3.5-Website von meinem Konkurrenten screened wird? Im Idealfall möchte ich sicherstellen, dass keine Webbots oder Screenscrapers Daten von meiner Website extrahieren können.Wie kann ich verhindern, dass meine asp.net-Site gescannt wird?

Gibt es eine Möglichkeit zu erkennen, dass ein Webbot oder Screen Scraper läuft?

+0

@AndrewBarber ... das OP fragt NICHT nach Code. – Csharp

Antwort

12

Es ist möglich, zu versuchen, Screen-Scraper zu erkennen:

verwendet Cookies und Timing, das wird es machen für diejenigen, härter aus dem Feld Screen-Scraper. Überprüfen Sie auch auf JavaScript-Unterstützung, die meisten Scraper haben es nicht. Überprüfen Sie Meta-Browser-Daten, um zu überprüfen, ob es sich wirklich um einen Webbrowser handelt.

Sie können auch nach Anfragen in einer Minute suchen, ein Benutzer, der einen Browser antreibt, kann nur eine kleine Anzahl von Anfragen pro Minute erstellen, sodass Logik auf dem Server, der zu viele Anfragen pro Minute erkennt, vermuten lässt, dass Screen Scraping stattfindet und den Zugriff von der betreffenden IP-Adresse für einige Zeit zu verhindern. Wenn sich dies auf Crawler auswirkt, melden Sie die blockierte Benutzer-IP und beginnen Sie, ihre IPs nach Bedarf zuzulassen.

Sie können http://www.copyscape.com/ verwenden, um auch Ihren Inhalt zu überwachen, dies wird Ihnen zumindest sagen, wer Ihre Daten wiederverwendet.auch

diese Frage Siehe:

Protection from screen scraping

Werfen Sie auch einen Blick auf

http://blockscraping.com/

Nizza doc über Screen Scraping:

http://www.realtor.org/wps/wcm/connect/5f81390048be35a9b1bbff0c8bc1f2ed/scraping_sum_jun_04.pdf?MOD=AJPERES&CACHEID=5f81390048be35a9b1bbff0c8bc1f2ed

Wie Screen Scraping verhindern:

http://mvark.blogspot.com/2007/02/how-to-prevent-screen-scraping.html

+0

+1 gute Antwort. aber ... ich habe die meisten dieser Wächter geschlagen, also meine Antwort. ;-) –

+1

Seine Frage ist, ist es möglich zu erkennen. Es ist, und es ist leicht, es zu einem Schmerz zu machen, ein Programm zu schreiben, um die Seite zu kratzen, es ist nicht 100%, aber es wird es schwieriger machen. Wenn ein Benutzer es im Browser aufrufen kann, kann es gescriptet werden, es sei denn, Sie verwenden captcha, um auf die Informationen zuzugreifen, die nicht gelöscht werden sollen. –

+0

Ja, Sie haben Recht. Ich bin schuldig, eine andere Frage zu beantworten. –

2

Ich glaube nicht, dass es möglich ist, ohne Benutzer auf Ihre Website zu authentifizieren.

+0

@Raj, so wird die Authentifizierung verhindern, dass (natürlich kann die Konkurrenz registrieren und ein s/s laufen) – user279521

+1

Authentifizierung Wird es nicht einmal behindern, wenn sie kratzen wollen, werden sie diesen Prozess leicht skript. –

+0

War nicht sicher, ob Sie eine Liste autorisierter Benutzer hatten, die auf Ihre App zugreifen konnten. Offensichtlich ist dies hier nicht der Fall. –

8

Trennen Sie das Netzwerkkabel vom Server.

paraphrase: wenn die Öffentlichkeit es sehen kann, kann es geschabt werden.

update: nach dem zweiten Blick scheint es, dass ich die Frage nicht beantworte. Es tut uns leid. Vecdid hat eine gute Antwort gegeben.

Aber jede halbwegs vernünftige codiert könnte die aufgeführten Maßnahmen zu besiegen. In diesem Zusammenhang könnte meine Antwort als gültig angesehen werden.

+0

+1 beste Antwort noch, vielleicht nicht was der OP hören wollte, aber es ist die einzige Lösung. – mxmissile

+0

in der Tat. Es ist wie wenn es trendig war zu verhindern, dass die rechte Maustaste Bilder stehlen. – renoirb

1

Schließlich können Sie nicht aufhören.

Sie können es für Menschen schwieriger machen, indem Sie die robots.txt-Datei usw. einrichten. Aber Sie müssen Informationen auf legitime Benutzer-Bildschirme bekommen, damit sie irgendwie bedient werden müssen, und wenn es dann Ihre ist Konkurrenten können dazu kommen.

Wenn Sie die Benutzer zwingen, sich einzuloggen, können Sie die Roboter jederzeit anhalten, aber es gibt nichts, was einen Wettbewerber daran hindern könnte, sich trotzdem für Ihre Website anzumelden. Dies kann potentielle Kunden auch vertreiben, wenn sie nicht auf einige Informationen "kostenlos" zugreifen können.

+0

@ChrisF, gibt es eine Möglichkeit zu erkennen, dass ein Webbot oder Screen Scraper läuft? – user279521

+0

@user - überprüfen Sie die anderen Antworten von Menschen mit mehr Erfahrung in diesem Bereich als ich – ChrisF

0

Ich glaube nicht, dass das möglich ist. Aber was auch immer Sie sich einfallen lassen, es wird für die Suchmaschinenoptimierung genauso schlecht sein wie für den Wettbewerb. Ist das wirklich wünschenswert?

1

Wenn Ihr Konkurrent in demselben Land ist, wie Sie, eine akzeptable Nutzungsrichtlinien und Nutzungsbedingungen klar auf Ihrer Website gebucht haben. Erwähnen Sie die Tatsache, dass Sie keine Art von Roboter/Bildschirm scraping etc. erlauben. Wenn das so weitergeht, holen Sie sich einen Anwalt, um ihnen einen freundlichen Unterlassungsbrief zu schicken.

0

Wie wäre es mit jedem Bit Text als Bild? Sobald dies geschehen ist, werden Ihre Mitbewerber gezwungen sein, OCR-Technologien zu investieren, oder Sie werden feststellen, dass Sie keine Benutzer haben - also wird die Frage strittig sein.

1

Sie könnten ein CAPTCHA verwenden.

Sie können dies auch mindern, indem Sie die Verbindung drosseln. Es wird sie zwar nicht vollständig vom Screen Scraping abhalten, aber es wird wahrscheinlich verhindern, dass sie genug Daten bekommen, um nützlich zu sein.

Erstens, für gierige Benutzer, Gasverbindungen, so dass Sie maximal eine Seite pro Sekunde sehen können, aber sobald Ihr 1-Sekunden-Timer abgelaufen ist, erleben Sie keinerlei Drosselung. Keine Auswirkungen auf normale Benutzer, große Auswirkungen auf Screen Scraper (zumindest wenn Sie viele Seiten haben, auf die sie ausgerichtet sind).

Als Nächstes benötigen Sie Cookies, um die datenempfindlichen Seiten zu sehen.

Sie können einsteigen, aber solange Sie keine falschen Cookies akzeptieren, können sie nicht viel mit einer echten Geschwindigkeit screenen.

Verwandte Themen