Come determinare l'intestazione predefinita Accept-Language in base all'IP (prefisso internazionale)?
Domanda
Voglio migliorare la protezione antispam sul mio sito. Ho scoperto che dopo essere stato bannato dai bot ip non cambiano le intestazioni http Accept-Language e Accept-Charset (quindi la maggior parte dello spam viene fornito con windows-1251 accept-charset). Capisco che potrebbero esserci utenti normali con preferenze straordinarie, ma comunque, come posso determinare quali set di caratteri e intestazioni di lingua sono più popolari in un determinato paese? TIA
Soluzione
Questa risposta ha due parti: determinare da dove proviene l'utente e quale lingua parlano. Per determinare da dove provengono, puoi utilizzare un servizio come hostip.info , che ha un'API che accetta un indirizzo IP e restituisce un codice paese. In secondo luogo, è necessario un elenco come questo per tradurre il codice del paese in un codice di lingua. È possibile utilizzare un database completo o un semplice dict per memorizzare la mappatura.