Wie verhindere ich, Bots aus meiner Datei Download-Zähler in PHP erhöht wird?

StackOverflow https://stackoverflow.com/questions/235558

  •  04-07-2019
  •  | 
  •  
War es hilfreich?

Lösung

robots.txt: http://www.robotstxt.org/robotstxt.html

Nicht alle Bots respektieren, aber die meisten tun. Wenn Sie wirklich Zugang über Bots verhindern möchten, stellen Sie den Link, um eine POST statt GET. Bots werden nicht POST URLs folgen. (Das heißt, verwenden Sie eine kleine Form, die Beiträge auf die Website zurück, die Sie auf die URL in Frage kommt.)

Andere Tipps

Ich würde denken, Godeke robots.txt Antwort ausreichen würde. Wenn Sie absolut nicht die Bots Ihre Zähler haben kann, dann würde ich empfehlen, die Roboter in Verbindung mit Datei mit nicht nicht die Klicks mit einigen Inkrementieren gemeinsame Roboter User Agents .

Weder Weg ist perfekt., Aber die Mischung der beiden ist wahrscheinlich ein wenig strenger. Wird mir war, würde ich wahrscheinlich nur Stick an die Roboter obwohl Datei, da es einfach ist, und wahrscheinlich die effektivste Lösung.

Godeke ist richtig, robots.txt das erste, was die Bots von Download zu halten zu tun.

Zählen In Bezug auf, das ist wirklich ein Web-Analytics-Problem. Werden Sie nicht Ihre www Zugriffsprotokolle zu halten und sie durch ein Analyseprogramm läuft wie Webalizer oder AWStats (oder ausgefallene Alternativen wie Webtrends oder Urchin)? Für mich ist der Weg für die Erhebung dieser Art von Informationen zu gehen, weil es einfach ist, und es gibt keine PHP, umleiten oder andere Leistung getroffen, wenn der Benutzer die Datei herunterlädt. Sie verwenden nur die Apache-Logs, die Sie auf jeden Fall zu halten sind. (Und grep -c gibt Ihnen die schnelle ‚n‘ schmutzige Zahl auf einer bestimmten Datei oder Wildcard-Muster.)

Sie können Ihre Statistiken Software zu ignorieren Hits von Bots oder bestimmten Benutzeragenten und anderen Kriterien konfigurieren (und wenn Sie Ihre Kriterien ändern später, erneut verarbeiten Sie nur die alten Log-Daten). Natürlich ist dies nicht erforderlich, dass Sie alle Ihre alten Protokolle, also, wenn man sie mit so etwas wie logrotate worden ist Werfen Sie ohne historische Daten beginnen müssen.

Sie können auch bösartige Bots erkennen, die robots.txt nicht respektieren würde mit http: // www.bad-behavior.ioerror.us/ .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top