Domanda

Il mio sito web ha una ricerca nel database; la compilazione di un CAPTCHA ti dà 5 minuti di tempo di ricerca. C'è anche qualche codice personalizzato per rilevare eventuali script automatici. Lo faccio come non voglio che qualcuno di dati mining mio sito.

Il problema è che Google non vede i risultati di ricerca durante la scansione il mio sito. Se qualcuno è alla ricerca di una stringa che è presente nel risultato di una ricerca, mi piacerebbe loro di trovare la pagina per usare Google.

La soluzione più ovvia per me è quello di utilizzare la $_SERVER['HTTP_USER_AGENT'] variabile PHP per bypassare il CAPTCHA e codice di sicurezza personalizzato per i bot di Google. La mia domanda è se questo è ragionevole o no.

La gente potrebbe quindi utilizzare la cache di Google per visualizzare i risultati di ricerca, senza dover compilare il CAPTCHA, ma sarebbe propri metodi di rilevamento di script di Google impedire loro di data mining queste pagine?

In alternativa ci sarebbe un modo per le persone a fare $_SERVER['HTTP_USER_AGENT'] apparire come Google per bypassare le misure di sicurezza?

Grazie in anticipo.

È stato utile?

Soluzione

  

In alternativa ci sarebbe un modo per le persone a fare $ _SERVER [ 'HTTP_USER_AGENT'] appaiono come Google per bypassare le misure di sicurezza?

Sicuramente. L'agente utente è ridicolmente facile da forgia. Vedi per esempio User Agent Switcher per Firefox . E 'anche facile per un bot spam per impostare la sua intestazione agente utente al bot di Google.

Potrebbe essere ancora la pena un colpo, però. Direi solo provare e vedere quali sono i risultati. Se si ottiene problemi, potrebbe essere necessario pensare a un altro modo.

Un altro modo per riconoscere il bot di Google potrebbe essere l'intervallo IP (s) che utilizza. Non so se le usi bot definiti intervalli IP -. Potrebbe essere che questo non è il caso, si avrebbe dovuto scoprire

Aggiornamento: sembra che sia possibile verificare la Google Bot analizzando il suo IP. Da Google Webmaster Central: Come verificare Googlebot

  

Raccontare i webmaster di utilizzare DNS per verificare, caso per caso, sembra il modo migliore per andare. Credo che la tecnica consigliata sarebbe quella di fare una ricerca DNS inversa, verificare che il nome è di dominio googlebot.com, e poi fare un in avanti corrispondente DNS-> IP lookup usando quel nome googlebot.com; ad esempio:

     

ospite 66.249.66.1   1.66.249.66.in-addr.arpa dominio puntatore nome crawl-66-249-66-1.googlebot.com.

     

ospite crawl-66-249-66-1.googlebot.com   crawl-66-249-66-1.googlebot.com ha l'indirizzo 66.249.66.1

     

Non credo che solo facendo una ricerca DNS inversa è sufficiente, perché uno spoofer potrebbe istituire reverse DNS a punto da crawl-a-b-c-d.googlebot.com.

Altri suggerimenti

il parametro $_SERVER['HTTP_USER_AGENT'] non è sicuro, le persone possono fingere, se vogliono davvero ottenere i risultati. la vostra decisione è una ditta individuale, in pratica Vuoi abbassare la sicurezza e potenzialmente permettere alle persone / bot per raschiare il vostro sito, o volete i risultati nascosti da Google.

Una soluzione è sicura, ha un piccolo database Geo allineati secondo ASN, bloccare il Bot ASN cattivo (proxy, server, hosting provider come OVH) e consentire un po 'di Bot (Google, Bing, Yahoo), GSM ASN come Orange , SFR Vodafone ... Solo un'idea:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top