代码之家  ›  专栏  ›  技术社区  ›  Josh

ASP.NET请求编码和响应编码UTF-8或ISO-8859-1

  •  2
  • Josh  · 技术社区  · 15 年前

    在Microsoft安全文档的“代码审阅”部分中( http://msdn.microsoft.com/en-us/library/aa302437.aspx ,建议将globalization.requestencoding和globalization.responseEncoding设置为“iso-8859-1”,而不是“utf-8”或其他unicode格式。

    使用“iso-8859-1”的缺点是什么?在过去,为了获得最大的兼容性,我将两者都设置为utf-8。

    2 回复  |  直到 15 年前
        1
  •  2
  •   womp    15 年前

    缺点是它不兼容。事实上, there are lots of reasons not to use anything but UTF-8 .

    我看了那个文档页面,我不确定它是否真的建议使用Latin1——我想它可能只是作为一个例子。

    默认情况下,httputility编码方法都使用utf-8,所以除非您真的不想输入国际字符,否则我不认为有任何理由将其设置为拉丁-1。

        2
  •  0
  •   Greg    15 年前

    那一页似乎并没有特别推荐iso-8859-1,它只说:

    要帮助防止攻击者使用规范化和多字节转义序列欺骗输入验证例程,请检查字符编码设置是否正确,以限制输入的表示方式。

    另外,在另一个页面上,它说“下面显示的两种方法都使用iso-8859-1字符编码,这是早期版本的html和http的默认编码”