php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 12.04.2011, 19:32  
Benutzer
 
Benutzerbild von sharpx
 
Registriert seit: 12.04.2011
Beiträge: 50
PHP-Kenntnisse:
Fortgeschritten
sharpx befindet sich auf einem aufstrebenden Ast
Standard Crawlerabwehr

Guten Abend,

ich beschäftige mich seit einiger Zeit mit der Problematik, dass Websites von (relativ einfach geschriebenen) Crawlern bzw. Spidern kopiert werden, dann anschließend das Design verändert wird und schließlich die Inhalte auf neue Domains hochgeladen werden, wo man die Inhalte letztenendes vor lauter Werbung gar nicht mehr sehen kann. Da rechtliche Maßnahmen gegen solche "Angriffe" leider sehr aufwendig sind, möchte ich technische Schutzmaßnahmen implementieren. Natürlich ist mir bewusst, dass es in diesem Bereich keine 100%-sichere Technik geben kann. Da die meisten dieser Bot-Programmierer jedoch erfahrungsgemäß über einen relativ niedrigen Wissensstand verfügen oder ihre Systeme sehr einfach halten und auf Klasse statt Masse setzen, sollte es mit genügend Rafinesse durchaus möglich sein, derartige Probleme wesentlich zu minimieren.

Im folgenden werde ich nun mein bisher erarbeitetes Konzept vorstellen:
Requests welche keinen User-Agent und keinen Accept-Header beinhalten werden sofort abgelehnt, da normale Browser sowie jeder qualitativ hochwertige Bot diese Header mitsendet.

IPs die bereits mehr als x (5 < x < 30) Requests innerhalb von 5 Minuten absenden und keine Cookies akzeptieren, müssen in unregelmäßigen (ca. alle 20-100) Requests ein Captcha abtippen. Des Weiteren sind für Clients die keine Cookies akzeptieren nicht mehr als 30 Requests pro 10 Minuten zulässig. Sinnvoll wäre es an dieser Stelle sicher auch, zu betrachten, wie konstant Requests von diesem Client auftreffen. (Normale Nutzer besuchen manche Seiten, wie etwa Übersichten, öfters, wohingegen Bots dies nur tun, wenn Sie speziell darauf programmiert werden.). Auch wenn relativ wenige Requests über einen langen Zeitraum relativ konstant auftreffen, d.h. etwa auch mitten in der Nacht wäre dies ein Sperrgrund, wobei natürlich kein User gesperrt werden sollte, der zufällig nachts um drei vorbeischaut. Für die Betrachtung eines größeren Zeitraums habe ich bisher leider keine brauchbaren Ansätze, weswegen ich hier auf die php.de-Community setze

Da der Googlebot natürlich unbedingt von diesen Aktionen ausgeschlossen bleiben muss, überprüfe ich über DNS, ob der Request von *.googlebot.com kommt.

Weitere Ansätze oder anderweitige Anregungen sind erwünscht!
sharpx ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.04.2011, 19:41  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Mh ist mir jetzt noch nicht untergekommen das eine Seite kopiert wieder mit Werbung ins Netz gestellt wird. Aber reicht da meistens nicht wenn nur ein paar ganz wenige Seiten gecrawled werden? Ich mein Design und Startseite sind mit einem Seitenaufruf schon komplett kopiert ...

Und so einfach mit 30 Requests pro 10 Minuten ist das auch nicht abgetan. Ich wette ich hab deutlich mehr Requests in 10 Minuten wenn ich z.b. nach etwas suche. Und was zählst du zu Request, nur die Anfragen an ein PHP Skript oder auch sowas wie Bilder/CSS/JS?
Flor1an ist offline   Mit Zitat antworten
Alt 12.04.2011, 19:46  
Benutzer
 
Benutzerbild von sharpx
 
Registriert seit: 12.04.2011
Beiträge: 50
PHP-Kenntnisse:
Fortgeschritten
sharpx befindet sich auf einem aufstrebenden Ast
Standard

Es geht weniger darum, Design und Startseite zu kopieren, als darum, dass tausende Seiten Inhalt kopiert werden. (In meinem Fall über 8.000 Unterseiten).

Als Request wird nur gezählt, was eine "dynamische Ressource" aufruft, d.h. lediglich PHP-Skripte sowie mit Hilfe von PHP generierte Grafiken und Audiodateien.

Die "30 Requests pro 10 Minuten"-Sperre ist lediglich für Clients gedacht, die keine Cookies akzeptieren. Ich gehe davon aus, dass der Großteil aller Webnutzer Cookies akzeptiert und deshalb eine Ablehnung durchaus ein gewisser Indikator für einen Bot ist.
sharpx ist offline   Mit Zitat antworten
Alt 12.04.2011, 20:09  
Erfahrener Benutzer
 
Benutzerbild von Screeze
 
Registriert seit: 04.01.2009
Beiträge: 844
PHP-Kenntnisse:
Fortgeschritten
Screeze wird schon bald berühmt werden
Standard

Kleine Idee von mir: Ich bezweifle dass diese Bots sämtliche Bilder mit auf ihren Server kopieren, weshalb du z.b. auf jeder seite ein 1*1px bild (recht weit oben) einbinden könntest, welches per url-rewriting auf eine php datei zeigt, die Wiederum in die session schreibt dass der client bilder abruft - ruft nun jemand mehrere Seiten ohne Bilder zu betrachten ab, wäre das villeicht ein Anhaltspunkt?
__________________
Develovision Blog
Screeze ist offline   Mit Zitat antworten
Alt 12.04.2011, 20:18  
Benutzer
 
Benutzerbild von sharpx
 
Registriert seit: 12.04.2011
Beiträge: 50
PHP-Kenntnisse:
Fortgeschritten
sharpx befindet sich auf einem aufstrebenden Ast
Standard

Eine sehr gute Idee! Natürlich muss man hierbei darauf achten, dass der Cache-Control-Header sicherstellt, dass das Bild nicht zwischengespeichert wird, aber dies stellt keine Herausforderung dar. Vielen Dank für deinen Beitrag!
__________________
root@php.de:~$ rm -rd /

Geändert von sharpx (12.04.2011 um 21:22 Uhr).
sharpx ist offline   Mit Zitat antworten
Alt 13.04.2011, 02:39  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Und was machst du wenn der Content-Thief-(Ro)Bot den Google-Cache nutzt um deine Seite zu kopieren ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 13.04.2011, 08:26  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich weiss ja nicht wie Barrierefrei das ganze sein soll und ob du auf User ohne aktiviertes Javascript verzichten kannst. Wenn ja, dann könnte man damit einiges anstellen. Content per AJAX nachladen bspw. oder via JS überhaupt erst lesbar machen. Da müsstest du natürlich den Googlebot wieder beachten und der Einwand von tr0y ist auch nicht ohne.
cycap ist offline   Mit Zitat antworten
Alt 13.04.2011, 10:09  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Imho viel zu viel Aufwand für wenig Erfolg. Ich denke wenn dann werden Seiten doch gezielt kopiert, entsprechend kann auch der Bot entsprechend angepasst werden.
Flor1an ist offline   Mit Zitat antworten
Alt 13.04.2011, 16:13  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Solange du den Google-Robot nicht aussperrst ist dein "Copy everything"-Tor sperrangelweit offen. Ganz gleich was du mit anderen Robots anstellst, wollte ich deine Seite auslesen würde ich den Google-Cache dazu nutzen. Da kriegst du nichtmal mit welche IP da klaut.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 13.04.2011, 18:20  
Benutzer
 
Benutzerbild von sharpx
 
Registriert seit: 12.04.2011
Beiträge: 50
PHP-Kenntnisse:
Fortgeschritten
sharpx befindet sich auf einem aufstrebenden Ast
Standard

Den Googlebot selbst muss ich doch gar nicht sperren?

Wenn ich einen Cache-Control-Header mitsende bzw. entsprechende Meta-Tags einsetze, dann werden meine Inhalte nicht mehr im Googlecache gespeichert.
__________________
root@php.de:~$ rm -rd /
sharpx ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum