» First-Click-Free Script - 1. Besucher & Google sieht Seite

Bräuchte da mal hilfe - DB-AbfrageNeuen Thread eröffnenNeue Antwort erstellenis_symlink in PHP?
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52420
Wohnort: Lohmar


Meine eBay-Auktionen:
15.03.2009, 16:44
zitieren

Hi,

hier ein Script, dass mir auf Grund dieser Diskussion kam.

Das Script erkennt, ob der Besucher über Google oder Yahoo gekommen ist oder ob ein Suchmaschinen-Bot auf die Seite zugreifen will. Der Suchmaschinen-Bot wird zusätzlich über dessen Host verifiziert, damit nicht einfach jemand den HTTP_USER_AGENT fälschen kann und das ganze dadurch aushebelt. Wenn jemand den HTTP_REFERER fälscht, kann man allerdings nichts machen. Dazu werde ich vielleicht mal eine Verifizierung per Cookie integrieren, wobei es wahrscheinlich ist, dass wenn jemand den HTTP_REFERER fälscht, dieser auch dazu in der Lage sein dürfte Cookies zu deaktivieren ;)

Die Liste mit den Hosts und den Referern ist aktuell was kurz gehalten. Wer will kann gerne weitere Vorschläge machen.

Das Script zeichnet sich vor allen Dingen deswegen aus, weil es nur einmal den Host pro IP prüft, wenn ein Bot erkannt wurde. Das Ergebnis wird dann als Datei gespeichert, was die Performance unheimlich steigert.

Ansonsten kann die Erkennung dazu genutzt werden den Zugriff auf die Seite einzuschränken oder auf einen Login zu routen. Wie man will.

Hier das Script:
Hinweis: Auf dem Server muss das Verzeichnis "cache/bots/" vorhanden sein und dieses muss über CHMOD 777 Rechte verfügen.
<?php
// functions
function create_empty_file($filename) {
$h = @fopen($filename, 'w');
@flock($h, LOCK_EX);
@fwrite($h, ' ');
@flock($h, LOCK_UN);
@fclose($h);
@umask(0000);
@chmod($filename, 0666);
}
function is_bot_agent() {
if (
strpos($_SERVER['HTTP_USER_AGENT'], 'bot') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Bot') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'crawl') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Crawl') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'search') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'get') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'spider') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'find') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'java') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Java') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Google') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'yahoo') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'ask') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'contaxe') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Yandex') !== false ||
strpos($_SERVER['HTTP_USER_AGENT'], 'libwww-perl') !== false
) {
return true;
}
return false;
}
function is_bot_host($host) {
if (
strpos($host, 'googlebot.com') !== false ||
strpos($host, 'crawl.yahoo.net') !== false
) {
return true;
}
return false;
}
function is_se_user() {
if (isset($_SERVER['HTTP_REFERER'])) {
if (
strpos($_SERVER['HTTP_REFERER'], '.google.') !== false ||
strpos($_SERVER['HTTP_REFERER'], '.yahoo.') !== false
) {
return true;
}
}
return false;
}
function is_bot() {
if (is_bot_agent()) {
if (!file_exists('cache/bots/' . crc32($_SERVER['REMOTE_ADDR']))) {
if (is_bot_host(gethostbyaddr($_SERVER['REMOTE_ADDR']))) {
create_empty_file(crc32($_SERVER['REMOTE_ADDR']));
return true;
}
}
else {
return true;
}
}
return false;
}
function is_view_allowed() {
if (is_se_user()) {
return true;
}
else if (is_bot()) {
return true;
}
return false;
}
// check auth
if (!is_view_allowed()) {
exit('Normaler Besucher ohne Google-Referer.');
}
?>

Wenn das Script funktioniert, werdet ihr im Verzeichnis "cache/bots" in kurzer Zeit ein paar Dateien vorfinden.


pn email
Gast 
15.03.2009, 16:44
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "First-Click-Free Script - 1. Besucher & Google sieht Seite" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
 Altes Google Analytics Script meiden!
Ich war eben auf einer Seite, da dauerte es doch tatsächlich über 30 Sekunden bis das Analytics-Script geladen wurde und so lange konnte ich die Seite auch nicht vollständig sehen. Also es wurde nur das Menü angezeigt! Man sollte stattdessen die...
[Javascript]von mgutt
0
499
22.11.2011, 08:47
mgutt
PHP Script ähnlich Dropbox / Wuala / Google Drive?
Ich suche ein Script, mit dem ich mein eigenes Cloud Drive auf einem eigenen Server installieren kann. Neben dem PHP Script braucht man natürlich auch eine Software für Mac/PC, die ein zusätzliches Laufwerk installiert, das dann auch die Daten ohne...
von mgutt
2
1.947
17.06.2012, 08:53
mgutt
Google Nexus 4: Wie sieht das aus mit Zubehör?
Vielleicht an die, die das bisherige Nexus haben. Wie sieht das z.B. aus mit einer KFZ Halterung? Achtet da Google auf Qualität oder machen die Hersteller da selbst irgendwas? Da das nächste von LG kommt: Wie hochwertig ist das Zubehör von dem...
von mgutt
7
735
31.10.2012, 20:02
mgutt
die seite sieht ja mal interessant aus...
so, hab diese seite zufälligerweise gefunden, hab auch teile gefunden die ich bis jetzt nirgendwo gefunden habe... ...
von christopher_vtec
2
300
21.01.2010, 23:39
juli88
Google Chrome Prozesse im Taskmanager: Google Drive, Google Voice?
Ich habe Prozesse im Google Chrome Taskmanager, die ich da nicht erwarte. Einmal "Hintergrundseite: Google Drive" und "Erweiterung: Google Voice Search Hotword (Beta)". Das Problem daran ist, dass ich weder Google Drive noch eine...
von mgutt
2
399
04.12.2014, 13:43
mgutt
Räzelhaft ?! WikiImport-Seite sieht ganz anders aus ...
Hi Leute! Ich habe grade gut gläubig die Wiki-Hilfeseite in mein Wiki importiert und nun schaut das aber ziemlich komisch aus. Habe auch die Originalversion, so wie es aussehn sollte, angefügt. Weiß wer was da...
von heno
7
800
19.08.2009, 12:38
heno
Woher bekommt Google Maps bzw. Google Navigation Unfallmeldungen
Hi, die Google Navigation (GPS/Internet/google Server) gekoppelt meinem TomTom Navi (Eigene TomtomServer GPS Daten TMC) funktioniert hervorragend und ich komme um jeden Stau herum. Aber woher kommen die Ganzen Daten ich habe mich schon etwas reingelesen....
von EarL_VTEC
0
318
13.09.2018, 16:08
EarL_VTEC
Navigationsleiste für unangemeldete Besucher unsichtbar mach
Hallo, ich würde gerne den Inhalt der Navigationsleiste für unangemeldete Besucher ausblenden. Ist das möglich? Wenn ja, wo und wie kann man das einstellen? Vielen...
von serverjunge
0
165
16.06.2011, 11:48
serverjunge
Google Rekordgewinn: Google begeistert die Anleger
Google erhöhte den Gewinn gegenüber der entsprechenden Vorjahreszeit um 46 Prozent auf 1,1 Milliarden Dollar. Der Gewinn je Aktie legte auf 3,38 (Vorjahr: 2,36) Dollar zu, teilte Google mit Sitz in Mountain View (Kalifornien) nach Börsenschluss mit. Der...
von mgutt
0
1.180
20.10.2007, 13:59
mgutt
Click it or Ticket
Wollte ich nur mal so gesacht haben :hrhr:...
von Pottzi
5
194
13.05.2009, 14:22
hydrotoxin
© 2004 - 2024 www.programmierer-forum.de | Communities | Impressum |