Come posso gestire i bot in un sito che crea un elemento di database in ogni pagina

0

Ho una piattaforma di eCommerce che crea un carrello non appena l'utente atterra sul sito se non ne ha già uno (dalla sessione o dai cookie). Quindi memorizza le informazioni del carrello in sessione e nei cookie per ricordare ciò che l'utente ha aggiunto al proprio carrello per un mese.

Il problema è se non sono in grado di avere una sessione o cookie, come un bot, quindi crea un cestino ogni volta che visita una pagina. Ciò significa che un bot che striscia attraverso il sito web può facilmente creare centinaia di cestini.

Una delle opzioni che stiamo esplorando sta cambiando il nostro codice in modo tale che un paniere venga creato solo quando un utente aggiunge un oggetto, e finora sembra l'opzione migliore, ma è anche l'opzione che richiede più tempo quanto un sacco di la base di codice presuppone un paniere esiste in ogni momento. Ciò dovrebbe essere cambiato in modo che controlli un cesto e gestisca un paniere non esistente. Vorremmo trovare una soluzione meno intensiva se possibile.

Un'altra opzione che abbiamo esplorato consiste nel cancellare periodicamente la tabella nel database di tutti i vecchi canestri per contribuire a mitigare il problema. Tuttavia questo è solo mitigante e non risolve il problema. Mi piacerebbe risolvere il problema se posso.

Come posso identificare se l'utente non è in grado di tenere una sessione e i cookie in modo da impedire la creazione del carrello? O c'è un modo migliore di trattare con i bot in questa istanza?

    
posta Styphon 23.04.2014 - 14:53
fonte

2 risposte

1

Qualsiasi agente che non è in grado di gestire cookie o anche sessioni probabilmente non è in grado di dirti in modo affidabile che non li gestisce correttamente.

Tuttavia, i robot di indicizzazione che eseguono la scansione di pagine arbitrarie di solito specificano una stringa utente-agente caratteristica e / o obbediscono alle regole robots.txt , quindi è necessario gestirli tramite uno di questi due protocolli di gestione dei bot ben consolidati.

    
risposta data 23.04.2014 - 15:00
fonte
1

Suggerirei di eseguire un rilevamento basato sullo user-agent dell'utente. Puoi utilizzare una libreria come UA Detector per identificare gli utenti come bot e innescare comportamenti di back-end diversi. Probabilmente dovrai anche seguire l'approccio consigliato da Mike nei commenti alla tua domanda man mano che il tuo traffico continua a crescere e inizi a essere colpito da bot non identificati.

    
risposta data 23.04.2014 - 15:26
fonte

Leggi altre domande sui tag