/ / Ako zistiť, či skutoční používatelia prezerajú moje stránky alebo iba prehľadávajú alebo inde používajú PHP - php, javascript, html, iframe

Ako zistiť, že skutočný používateľ prechádza na mojom webe, alebo len prechádza alebo inak v PHP - php, javascript, html, iframe

Chcem vedieť, či sa používateľ skutočne pozerá na moje stránky (viem, že sa to iba načíta prehliadačom a zobrazí sa človeku, nie človeku, ktorý sa na ňu pozerá).

Viem, že budú fungovať dve metódy.

  1. Javascript.

    Ak stránku načítal prehliadač, automaticky spustí kód js, s výnimkou prípadov, keď to prehliadač zakáže. Potom pomocou AJAX zavolajte späť server.

  2. 1 × 1 priehľadný obrázok v html.

    Na spätné volanie servera použite obr.

Poznáte niekto úskalie tejto metódy alebo nejakej lepšej metódy?

Tiež neviem, ako určiť rámec 0 × 0 alebo 1 × 1, aby sa zabránilo vyššie uvedenej metóde.

odpovede:

5 pre odpoveď č. 1
  1. Robot má prístup do prehľadávača, napr. http://browsershots.org

  2. Robot môže požiadať o obrázok 1x1.

Stručne povedané, nie je reálny spôsob ako to povedať. Najlepšie, čo môžete urobiť, je použiť CAPTCHA, ale potom to zhoršuje skúsenosti ľudí.

Stačí použiť CAPTCHA, kde je to potrebné (registrácia užívateľa, atď.).


1 pre odpoveď č. 2

Chcem vedieť, či sa používateľ skutočne pozerá na moje stránky (viem, že sa to iba načíta prehliadačom a zobrazí sa človeku, nie človeku, ktorý sa na ňu pozerá).

Zdá sa, že obrazový spôsob je lepší, ako by to mohol predstavovať Javascriptbyť vypnutý aj bežnými používateľmi. Roboty zvyčajne nenačítavajú obrázky, takže by to malo skutočne fungovať. Ak sa však snažíte filtrovať známu sadu robotov (napríklad Google a Yahoo), môžete jednoducho skontrolovať hlavičku HTTP User Agent, ako títo roboti sa skutočne identifikujú ako robot.


1 pre odpoveď č. 3

si môžete vytvoriť účet správcu webu google a povie vám, ako nakonfigurovať svoj web na roboty ukážte tiež, ako bude robot čítať váš web


1 pre odpoveď č. 4

Súhlasím s ostatnými, je to skutočne ťažké -všeobecne pekné prehľadávače sa identifikujú ako prehľadávače, takže použitie User-Agenta je celkom dobrý spôsob, ako týchto ľudí odfiltrovať. Dobrý zdroj pre reťazce užívateľských agentov nájdete na http://www.useragentstring.com. V minulosti som použil php skript Chrisa Schulda (http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/) s dobrým účinkom v minulosti.

Môžete tiež filtrovať týchto ľudí na úrovni servera pomocou konfiguračného súboru Apache alebo .htaccess, ale zistil som, že to je prehratý boj, ktorý drží krok s ním.

Ak však budete sledovať protokoly servera, uvidíteveľa podozrivých aktivít s platnými používateľskými agentmi (prehľadávačmi) alebo funky používateľskými agentmi, takže to bude fungovať zatiaľ. Môžete hrať IP hru na čiernej listine / na bielu listinu, ale tá rýchlo zostarne.

Veľa prehľadávačov robiť načítať obrázky (tj. vyhľadávanie obrázkov Google), takže si nemyslím, že to bude fungovať stále.

Len veľmi málo prehľadávačov bude mať motory Javascript,takže to je asi dobrý spôsob, ako ich odlíšiť. A povedzme si na rovinu, koľko používateľov v súčasnosti skutočne používa Javascript? Štatistiky som o tom videl, ale myslím si, že sú veľmi skreslené obrovským počtom prehľadávačov / robotov, ktorí sa tam neidentifikujú. Výstrahou však je, že som videl, že robot Google robí spustiť Javascript teraz.

Záverom je to ťažké.Určite by som šiel s hybridnou stratégiou - ak filtrujete pomocou používateľského agenta, obrázkov, IP a JavaScriptu, som si istý, že získate väčšinu robotov, ale očakávajte, že sa cez ne niektorí dostanú.

Ďalšou myšlienkou je, že môžete vždy použiť známu prehliadačovú skriptu Javascript na otestovanie, či je nahlásený používateľský agent (ak je to prehliadač) v skutočnosti týmto prehliadačom?


0 pre odpoveď č. 5

„Pekné“ roboty, ako sú roboty z google alebo yahoo, budú zvyčajne rešpektovať a robots.txt spis. Môže pomôcť aj filtrovanie podľa agenta používateľa.

Ale nakoniec - ak niekto chce získať automatizovaný prístup, bude veľmi ťažké tomu zabrániť; mali by ste si byť istí, že to stojí za námahu.


0 pre odpoveď č. 6

Skontrolujte hlavičku User-Agent požiadavky http. Indexové prehľadávače by to mali nastaviť na čokoľvek iné ako na známy prehliadač.

tu je hlavička google-bot http://code.google.com/intl/nl-NL/web/controlcrawlindex/docs/crawlers.html

V php môžete získať user-agent s:

$Uagent=$_SERVER["HTTP_USER_AGENT"];

Potom to už len porovnáte so známymi hlavičkami ako tip preg_match () môže byť užitočné urobiť všetko v niekoľkých riadkoch kódu.