Nous avons un site multilingue qui utilise les cultures asp.net 2.0. La culture actuelle est définie via l'URL réécrite comme une chaîne de requête. (~/Es/blah.aspx est la version espagnole de ~/blah.aspx - réécrite comme ~/blah.aspx lang = es?)ASP.Net Validation des noms de culture
Le code qui teste la culture est la suivante:
System.Globalization.CultureInfo ci;
try
{
ci = new System.Globalization.CultureInfo(Request.QueryString["lang"] ?? string.Empty);
}
catch
{
ci = new System.Globalization.CultureInfo(string.Empty);
}
S'il n'y a pas de jeu de culture, il est par défaut en anglais, 127. Quand il y a une culture, tous les liens sur cette page sont ensuite pré-pendu avec le nom de culture correct. D'une manière ou d'une autre, une araignée a mis la main sur quelques liens sous la forme de ~/www.test.com/blah.aspx et martèle notre site avec une culture de www.test.com qui, en inondant notre erreur de journalisation.
Existe-t-il un moyen de tester si un nom de culture est valide en plus d'intercepter une exception?
Merci, mais j'aurais dû mentionner que nous sommes toujours sur .net 2.0 –
Vous pouvez retirer les pièces dont vous avez besoin. Roger l'a transformé en .net 2.0 pour vous. –