Ist es möglich, meine Website vor HTTrack Website Copier oder einem ähnlichen Programm zu schützen?
Ohne eine maximale Anzahl von HTTP-Anforderungen von Benutzern festzulegen.
Ist es möglich, meine Website vor HTTrack Website Copier oder einem ähnlichen Programm zu schützen?
Ohne eine maximale Anzahl von HTTP-Anforderungen von Benutzern festzulegen.
Nein, dazu gibt es keine Möglichkeit. Ohne das Festlegen von Grenzwerten für Verbindungsparameter gibt es keine Möglichkeit, dies relativ schwierig zu machen. Wenn ein legitimer Benutzer auf Ihre Website zugreifen kann, kann er deren Inhalt kopieren, und wenn er dies normal mit einem Browser tun kann, kann er ein Skript erstellen.
Sie können User-Agent-Einschränkungen, Cookie-Validierung usw. einrichten. Maximale Verbindungen und viele andere Techniken, aber keine wird jemanden davon abhalten, Ihre Website zu kopieren.
Schützen Sie den Teil der Site, den Sie schützen möchten, mit einem Benutzernamen und einem Passwort. Weisen Sie dann nur Personen einen Benutzernamen und ein Kennwort zu, die eine NDA (oder eine ähnliche) unterschreiben, die besagt, dass sie keine Informationen von Ihrer Website extrahieren oder kopieren.
Ein weiterer Trick besteht darin, alle Ihre Inhalte von AJAX zu laden ... und die AJAX-Daten-URL aus sich ändernden Pfaden (z. B. ~ / todays-date) laden und mit Javascript synchronisieren. Selbst wenn jemand Ihre Inhalte herunterladen würde, wären die Daten innerhalb von 24 Stunden veraltet.
Selbst dann hindert nichts einen entschlossenen erfahrenen Angreifer daran, eine Offline-Kopie zu erhalten. Sie können es nur schwieriger machen es lohnt sich also nicht.
Wie @Adnan bereits in seiner Antwort ausgeführt hat, gibt es wirklich keine Möglichkeit, eine entschlossene Person daran zu hindern, Schnappschüsse Ihrer Website zu kopieren. Ich habe hier das Wort Schnappschüsse verwendet, weil solche Inhaltsschaber (oder Erntemaschinen ) wirklich kopieren. Sie haben keinen Zugriff auf Ihr Backend (oder sollten es zumindest nicht), in dem die Inhalte Ihrer Website tatsächlich generiert und dem Endbenutzer angezeigt werden. Das Beste, was sie tun können, ist, die Ausgabe zu kopieren, die Sie in einem solchen generieren können Möglichkeit, die Zeit zu ändern oder sich an den beabsichtigten Empfänger anzupassen (DRM-Schemata, Wasserzeichen, ...), wie @ makerofthings7 in seiner Antwort ausgeführt hat.
So viel darüber, was bereits beantwortet wurde. Aber es gibt eine Sache an dieser Bedrohung, die meiner Meinung nach in der genannten Antwort noch nicht gut behandelt wurde. Das meiste derartige Scraping von Inhalten wird nämlich von opportunistischen und automatisierten Webcrawlern durchgeführt , und wir sehen gezielte Angriffe viel seltener. Na ja, zumindest in Zahlen - ertrage es mit mir.
Diese automatisierten Crawler können mithilfe verschiedener WAFs recht effektiv auf die schwarze Liste gesetzt werden (einige verwenden möglicherweise sogar Honeypots, um die Bedrohungen auf heuristische Weise zu ermitteln ), die die Datenbank der auf der schwarzen Liste stehenden Domains (CBLs oder Community Ban Lists , DBLs oder Domain Block Lists , DNSBL oder DNS-basierte Blackhole-Listen auf dem neuesten Stand halten , ...) wo solche automatisierten Inhaltsschaber arbeiten. Diese WAFs verweigern oder gewähren den Zugriff auf Ihre Inhalte, die Webanwendungen bereitstellen, basierend auf drei Hauptansätzen:
Deterministisches Blacklisting : Hierbei handelt es sich um Erkennungen, die auf den Merkmalen von Webanforderungen basieren, die Content Scraper stellen. Einige davon sind: Ursprungs-IP-Adresse anfordern, Reverse DNS-aufgelöster Remote-Hostname, Weiterleitungsbestätigte Reverse DNS-Suche ( siehe Erläuterung in einer meiner Fragen hier), Benutzeragentenzeichenfolge, Anforderungs-URL ( Ihre Webanwendung könnte beispielsweise eine Honeytrap-URL-Adresse ausblenden, der ein Inhaltsschaber in einer seiner Antworten folgen könnte, nachdem festgestellt wurde, dass die Anforderung nicht von einer Adresse auf der Whitelist stammt, z. B. von legitimen Suchmaschinen-Crawlern / Spinnen.) und andere Fingerabdruckinformationen im Zusammenhang mit automatisierten Webanfragen.
Heuristische Blacklisting : Auf diese Weise können Sie eine Bedrohung entweder durch Gewichtung der Parameter von a ermitteln einzelne Webanforderung, die im deterministischen Ansatz beschrieben wird (Anti-Spam-Filter verwenden einen ähnlichen Ansatz basierend auf der Berechnung der Bayes'schen Wahrscheinlichkeit) oder durch Analyse mehrerer Webanforderungen, z. B.: Anforderungsrate, Anforderungsreihenfolge, Anzahl der illegalen Anfragen, ... , mit deren Hilfe festgestellt werden kann, ob die Anfrage von stammt ein realer und beabsichtigter Benutzer oder ein automatisierter Crawler.
Externe DNSBL / CBL / DBLs : Ich habe bereits erwähnt, dass Sie sich auf externe DNSBL / CBL verlassen / DBLs (z Project Honey Pot, Spamhaus, UCEPROTECT, ...), von denen die meisten tatsächlich viel nützlicher sind, als nur Spammer und Spammer im Auge zu behalten Spambot infizierte Hosts und halten eine Art von Straftat (z. B. Forum-Spammer , Missbrauch der Crawling-Rate ) über IP-Adressen, Hostnamen und CIDR Bereiche, ... in Blacklists veröffentlichen sie auch. Einige WAFs bieten die Möglichkeit, eine Verbindung zu diesen Datenbanken herzustellen, sodass Sie nicht mehr von demselben Akteur angegriffen werden müssen, der möglicherweise bereits für dieselbe erkannte Aktivität auf einem anderen Webserver auf die schwarze Liste gesetzt wurde.
Nun muss eines ganz klar gesagt werden - keine dieser Methoden kann als kugelsicher angesehen werden! Sie entfernen die meisten beleidigenden Webanfragen, was für sich genommen wertvoll ist, und ermöglichen es Ihnen, sich besser auf diejenigen zu konzentrieren, die schwerer zu erkennende Straftäter sind, die Ihren Schutz irgendwie umgangen haben.
Es gibt natürlich unzählige Techniken für die automatische Erkennung von Crawlern / Content Scrapern (und ihre eigenen Gegenmaßnahmen - Techniken zur Vermeidung von Erkennung), die ich hier nicht beschreibe, noch alle möglichen WAFs und ihre Fähigkeiten auflisten, ohne Ihre Geduld zu testen oder die Grenzen des Zwecks dieser Q&A zu erreichen . Wenn Sie mehr darüber erfahren möchten, welche Techniken eingesetzt werden können, um solche unerwünschten Besucher abzuwehren, empfehlen wir Ihnen, die Dokumentation zu den Projekten OWASP Stinger und OWASP AppSensor durchzulesen
Zum Hinzufügen bearbeiten : Vorschläge von HTTrack-Autoren können in den häufig gestellten Fragen zum HTTrack-Website-Kopierer gelesen werden: So begrenzen Sie Netzwerkmissbrauch - Missbrauchs-FAQ für Webmaster Dokument und die Gründe, warum eine einzelne deterministische Erkennungsmethode nicht funktioniert (abgesehen davon, dass beleidigende IP-Adressen nachträglich oder aufgrund der Erfahrung anderer Honeynets auf die schwarze Liste gesetzt werden), wenn der Gegner den -Benutzeragenten der Spinne verschleiern soll
-String, indem Sie ihn auf einen der vielen User-Agent-Strings realer und legitimer Webbrowser setzen und robots.txt
-Anweisungen nicht respektieren, wird durch einen Blick in das HTTrack-Benutzerhandbuch deutlich. Um Ihnen das Lesen zu ersparen, enthält HTTrack einfache Konfigurations- und Befehlszeilenflags, damit es im Stealth-Modus funktioniert und für einfachere Erkennungstechniken genauso harmlos wie jeder andere legitime Benutzer erscheint.
Alles, was der menschliche Benutzer sieht , kann er aufzeichnen. Wie @Adnan hervorhebt, ist dies ziemlich einfach und kann automatisiert werden.
Einige Websites haben jedoch noch einen relativen Erfolg bei der Verhinderung von Massenschlürfen. Betrachten Sie beispielsweise Google Maps. Viele Menschen haben gelegentlich versucht, hochauflösende Karten großer Gebiete durch Skripterstellung wiederherzustellen. Einige haben es geschafft, aber die meisten wurden von Googles Verteidigung gefangen. Es kommt daher vor, dass es schwierig ist, einen automatischen Downloader zu erstellen, der sich aus Sicht des Servers so verhält, als ob er unter menschlicher Kontrolle wäre. Menschen haben alle Arten von Latenzen und Nutzungsmustern, die ein kluger Systemadministrator bemerken und überprüfen kann.
Ähnliche Tricks werden beispielsweise bei Stack Exchange ausgeführt. Wenn Sie versuchen, den Zugriff auf die Website zu automatisieren, werden Sie bald auf eine Seite mit einem CAPTCHA weitergeleitet.
Letztendlich ist diese Art der Sicherheit nicht sehr zufriedenstellend, da der Verteidiger und Die Angreifer sind aus gleichen Gründen: Es ist List gegen List. Das ist also teuer: Es erfordert Denken und Wartung. Einige Websites tun dies jedoch trotzdem.
Eine generische Möglichkeit für Angreifer, Sicherheitsmaßnahmen gegen die Automatisierung zu umgehen, besteht darin, das Schlürfen mit tatsächlichen Menschen zu "automatisieren". In einigen Ländern können sehr billige menschliche Arbeitskräfte eingestellt werden.
Ich würde das, was @Adnan sagt, qualifizieren, um hinzuzufügen, dass es zwar im Allgemeinen keine Möglichkeit gibt, das Auswaschen von Websites im Laufe der Zeit zu verhindern, ein bestimmtes Tool jedoch möglicherweise ein Verhalten aufweist, das mit einiger Sicherheit mit einer gewissen Menge erkannt werden kann von Anfragen wurden gestellt. Die Reihenfolge, in der auf URLs zugegriffen wird, kann deterministisch sein, z. B. Tiefe zuerst, Breite zuerst, aufsteigend oder absteigend in alphabetischer Reihenfolge, Reihenfolge, in der sie im DOM angezeigt wurden, und so weiter. Das Intervall zwischen Anforderungen kann ein Hinweis darauf sein, ob der Agent einen Javascript-Code (außer NoScript und ähnlichem) erfolgreich ausgeführt hat, die Clientunterstützung für die Browser-Leistungs-API, die Zeit zwischen Anforderungen im Verhältnis zur Seitenkomplexität und ob ein logischer Fluss zwischen Anforderungen besteht oder nicht Anfragen. Wenn ein Website-Leacher dies nicht berücksichtigt, haben Sie möglicherweise eine Chance. Die Überprüfung von Benutzeragenten sollte nicht effektiv sein, da ein guter Leacher vorgibt, ein bekannter Bot zu sein. Wenn Sie also nicht auch Google und andere Suchmaschinen ausschließen möchten, ist die Kenntnis der von Suchmaschinen verwendeten IPs hilfreich.
Erstens können Sie nur verhindern, dass Ihre Website kopiert wird, indem Sie sie nur für Sie öffentlich machen.
Sie können versuchen, die Leute davon zu überzeugen, dies zu tun Rechtlich bedeutet, ich bin kein Anwalt, daher weiß ich nicht, welche Schritte Sie unternehmen sollten. Wenn Ihr Inhalt original ist, können Sie das Urheberrecht oder ähnliches einschränken.
Ich denke, wenn Sie befürchten, dass Ihre Website kopiert wird, muss es sich um eine wirklich, wirklich, wirklich großartige Website handeln.
Kurze Antwort, nein, wenn der Benutzer eine Seite lädt, kann der Benutzer HTML durch Anzeigen der Quelle kopieren.
Wenn der Website-Kopierer über einen bestimmten Benutzeragenten verfügt, können Sie diesen blockieren. Weitere Informationen finden Sie unter Stapelaustausch.
Eine andere Lösung könnte darin bestehen, eine Flash-Webseite zu erstellen. Diese sind sowieso schwer von Hand zu kopieren.
Andernfalls würde ich alles in ein Verzeichnis mit eingeschränktem Zugriff stellen, das nur serverseitige PHP-Skripte abrufen können. Wenn die Seite dann mit vielen Includes erstellt wurde (eines für eine Navigationsleiste, eines für Header, eines für Javascript, eines für Footer, eines für Body Content), erstellen Sie ein anderes Verzeichnis von PHP-Dateien, die das geschützte Verzeichnis mit Includes lesen, und machen Sie dann eine AJAX, die diese PHP-Dateien dynamisch lädt. Es würde es für alles schwierig machen, es zu kopieren, ohne das JavaScript zu rendern (obwohl ich nicht weiß, ob dies die Software oder eine Person mit einem Live-Code-Inspektionstool stoppen würde.
Oder Sie können eine Art hinzufügen von der Überprüfung durch den Menschen auf Ihrer Site, sodass ein geschütztes PHP-Verzeichnis nicht aufgerufen wird, es sei denn, der Benutzer klickt ausdrücklich auf ein DOM-Objekt ohne Link (wie eine Zeile mit der Aufschrift "Hier eingeben"), das das Laden des Inhalts auslöst.
Haftungsausschluss: Dies ist eine böse Antwort. Ich kann keines der folgenden Dinge gutheißen.
Moderne Browser können generische (Turing-vollständige) Berechnungen mit Javascript und möglicherweise auf andere Weise durchführen. Selbst die grundlegenden HTML + CSS-Rendering-Engines sind unglaublich ausgefeilte Software, mit der Inhalte auf verschiedene Weise angezeigt (oder ausgeblendet) werden können. Wenn dies nicht ausreicht, stellen alle modernen Browser grafische Grundelemente zur Verfügung, z. B. über SVG und Canvas, und ermöglichen das Herunterladen benutzerdefinierter Schriftarten zum Rendern von Text.
Wenn Sie all dies zusammenfügen, und einige weitere, Sie werden feststellen, dass zwischen dem Quellcode der Site und den Pixeln, aus denen die Buchstaben und Wörter bestehen, die der Benutzer lesen kann, mehrere Ausführungsebenen bestehen.
Alle diese Ausführungsebenen können verschleiert und / oder verschleiert werden ausgenutzt.
Sie können beispielsweise Markups generieren, die wenig oder gar keine Ähnlichkeit mit der Grafikausgabe haben, um das Betrachten der HTML-Quelle Ihrer Website zu einer sinnlosen Übung zu machen. Sie können ein HTML-Tag pro Buchstabe verwenden und diese mit der kreativen Verwendung von float:
und position:
neu anordnen, einige davon mit komplexen, generierten CSS-Regeln ausblenden und einige hinzufügen Weitere, die nicht vorhanden waren, mit CSS-generierten Inhalten.
Sie können eine Schriftart erstellen, die eine benutzerdefinierte Zuordnung zwischen Zeichencodes und Glyphen verwendet, sodass das Kopieren und Einfügen Ihrer Inhalte zu völligem Müll oder sogar zu Müll führt Schimpfwörter! Sie können Buchstaben in zwei oder mehr Teile teilen und Unicode-Kombinationszeichen verwenden, um sie wieder zusammenzusetzen. Sie können dies alles mit einem dynamischen Generator tun und für jede HTTP-Anforderung ein neues zufälliges Meisterwerk der Verschleierung erstellen.
Sie können ein Programm schreiben, das komplexe Javascript-Algorithmen erstellt, die beim Ausführen auf dem Client einige erforderliche Teile des Puzzles ausfüllen, sodass ohne Javascript-Unterstützung und eine angemessene Menge an Client-CPU-Zeit allein das Markup wäre nutzlos. 50 ms moderne CPU-Zeit werden von den meisten nicht bemerkt und reichen aus, um einige ziemlich böse Algorithmen auszuführen.
Bonuspunkte, wenn Sie versuchen, Ihre eigene verschleierte Website mit einem kopflosen Browser zu kratzen, um ein vollständiges CSS und zu haben Javascript-Stapel. Versuchen Sie dann, Wege (oder Heuristiken) zu finden, um einen echten Browser vom kopflosen zu unterscheiden. Fügen Sie dann einige Fallen in den generierten Javascript-Code ein, sodass der Algorithmus, wenn er in den Fall eines kopflosen Browsers fällt, in eine Endlosschleife gerät oder den Browser zum Absturz bringt oder Schimpfwörter und Anfälle auf dem Bildschirm erzeugt
Diese sind mir auf den Kopf gestellt, es gibt (zählbar) unendlich viele andere Möglichkeiten, mit den Computern der Leute zu ficken.
Jetzt sei ein guter Junge / Mädchen und nimm deine blaue Pille: - )
Zunächst einmal, wie andere gesagt haben - alles, was Sie sehen können, können Sie mit verschiedenen Methoden kopieren. Es hängt davon ab, warum Sie verhindern möchten, dass Ihre Website kopiert wird. Die effektivste Methode ist jedoch wahrscheinlich das Hinzufügen von Wasserzeichen, damit jeder weiß, woher sie stammt. Vielleicht würde sogar eine höfliche Mitteilung, in der die Leute gebeten werden, Ihre Website nicht zu kopieren, nicht fehlen.
Wenn Sie jedoch zu Ihrer ursprünglichen Frage zurückkehren und verhindern, dass Software die Website kopiert, glaube ich, dass CloudFlare über eine Webanwendung verfügt Firewall. Ich weiß mit Sicherheit, dass der Acunetix Web Vulnerability Scanner keine Website scannt, die CloudFlare verwendet. Es ist eine kostenlose Lösung und sollte auch dazu beitragen, Ihre Website zu beschleunigen.
Es gibt jetzt jedoch eine narrensichere Lösung, und alles kann umgangen werden. Das Beste, was Sie tun können, ist, eine Kombination der Antworten hier zu verwenden, je nachdem, wie dringend Sie Ihre Website schützen müssen / möchten. Der beste Rat ist jedoch, wenn Sie nicht möchten, dass es kopiert wird, lassen Sie es nicht zu.
Auch AJAX mit Datumsparametern kann dupliziert werden. Ich habe Websites mit starkem AJAX mithilfe von GET / POST-Parametern abgekratzt. Wenn ich den Browser wirklich emulieren muss, kann ich einfach Selen oder ähnliches verwenden. Ich kann immer einen Weg finden, eine Site zu kratzen, wenn ich es wirklich wollte. Captcha ist wahrscheinlich das Schwierigste. Selbst dann gibt es den Captcha-Scharfschützen und andere Module, die in diesen Bereichen helfen.
Sehen Sie sich diese Links an, um eine Lösung zu erhalten :)
Verwenden Sie robots.txt, um dies zu verhindern Website vor dem Rippen?
ODER
Der einfachste Weg besteht darin, die Browser-ID zu identifizieren, die Ihre Seite durchsucht, wenn es sich um eine htttrack-Blockierung handelt (Sie müssen Ihren Server konfigurieren oder verwenden Ihre Programmierkenntnisse, um die verschiedenen Seiten entsprechend zu laden)
Danke ..