Utf 8 如何获取Microsoft';s AntiXss库是否将URL编码为URI标准(RFC3986)而不是IRI(RFC3987)?
我正在使用Microsoft AntiXss 3.1库。我们有许多使用非拉丁文字的国际网站。我们使用的是SEO友好的URL,因此我们在URL中使用了非ASCII字符 AntiXss.UrlEncode(至少在3.1中)将“国际字符”视为安全字符,因此我们最终使用IRI而不是URI:Utf 8 如何获取Microsoft';s AntiXss库是否将URL编码为URI标准(RFC3986)而不是IRI(RFC3987)?,utf-8,urlencode,seo,antixsslibrary,Utf 8,Urlencode,Seo,Antixsslibrary,我正在使用Microsoft AntiXss 3.1库。我们有许多使用非拉丁文字的国际网站。我们使用的是SEO友好的URL,因此我们在URL中使用了非ASCII字符 AntiXss.UrlEncode(至少在3.1中)将“国际字符”视为安全字符,因此我们最终使用IRI而不是URI: http://somesite.com/ja-JP/applications/search/セキュリティ-b200009 HttpUtility.UrlEncode为URI生成正确的编码(RFC3986): 但我宁
http://somesite.com/ja-JP/applications/search/セキュリティ-b200009
HttpUtility.UrlEncode为URI生成正确的编码(RFC3986):
但我宁愿遵循我们使用AntiXss库的标准
我知道AntiXss/WPL 4.0已经发布(并且在默认情况下不再将国际字符视为安全字符),但它已经更改了API名称,因此我必须对应用程序进行重大更改才能升级
因此,我很乐意回答以下问题:
- 如何引导Antix执行与Uri标准兼容的UrlEncode
- 如果我们使用AntiXss库的符合IRI的输出(这是最好的),我们就不会为自己设置与泰国较旧的代理服务器的兼容性问题(或者其他任何地方——我们可以测试我们的浏览器矩阵,但不是我们和客户之间可能存在的所有中间网络设备)
- HttpUtility.UrlEncode是我们应该使用的,并且不明显比AntiXss.UrlEncode安全性差
- 我还没有考虑过其他更好的解决方案
感谢它没有对API名称进行太多的更改(除了LdapEncode),非常旧的名称仍然存在。实际上,方法名称与3.5中的名称相同,并且我没有删除旧的不推荐名称,因此您应该能够访问并获得与3.5相同的警告 如果你发现自己在4.0上有问题,请随时给我发牢骚..b域名:)
http://somesite.com/ja-JP/applications/search/%e3%82%bb%e3%82%ad%e3%83%a5%e3%83%aa%e3%83%86%e3%82%a3-b200009