Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

εάν γράψω κάτι τέτοιο

if (strpos($_SERVER['HTTP_USER_AGENT'], 'bot') !== false) {
	//do something
}

καλύπτω όλες τις περιπτώσεις να "πιάσω" πότε ένας χρήστης είναι bot ή αυτό θα "πιάσει" και χρήστες που δεν είναι bot;

Δημοσ. (επεξεργασμένο)

Όχι, σε καμμία περίπτωση δε δουλεύει αυτό που έχεις γράψει. Ο καθένας μπορεί να στείλει ότι θέλει σαν user agent.

Επεξ/σία από vadou
Δημοσ.
2 ώρες πριν, Uberalles_gr είπε

Έχεις να προτείνεις κάτι άλλο;

Browser fingerprinting. Σε καλύπτει στο 90% των περιπτώσεων. Το υπόλοιπο 10% είναι αρκετά δύσκολο έως απίθανο να το κόψεις.

Δημοσ.

Στον nginx θα μπορούσες να βάλεις κάτι ως
 

# case insensitive matching
if ($http_user_agent ~* (Unknown|netcrawl|npbot|spbot|malicious|python-requests|Python|CPython|Python-urllib)) {
	return 444;
}

 

Δημοσ.

Ο user agent δεν είναι αξιόπιστη πληροφορία. Μπορείς να τον αλλάξεις και να γράφει το οτιδήποτε.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...