Comment déterminer l'en-tête par défaut Accept-Language en fonction de l'IP (indicatif de pays)?

StackOverflow https://stackoverflow.com/questions/1624816

  •  06-07-2019
  •  | 
  •  

Question

Je souhaite améliorer la protection antispam de mon site. J'ai découvert qu'après avoir été banni par ip bots, ne modifiez pas les en-têtes http Accept-Language et Accept-Charset (la plupart des spams sont donc livrés avec windows-1251 accept-charset). Je comprends que des utilisateurs normaux peuvent avoir des préférences inhabituelles, mais comment puis-je déterminer quels en-têtes de jeu de caractères et de langue sont les plus populaires dans un pays donné? TIA

Était-ce utile?

La solution

Cette réponse comporte deux parties: déterminer l’origine de votre utilisateur et la langue qu’il parle. Pour déterminer leur origine, vous pouvez utiliser un service tel que hostip.info , qui a une API qui prend une adresse IP et retourne un code de pays. Deuxièmement, vous auriez besoin d’une liste telle que celle-ci pour traduire le code de pays. dans un code de langue. Vous pouvez utiliser une base de données complète ou un simple dict pour stocker le mappage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top