1

MicrosoftAntiXss3.1ライブラリを使用しています。非ラテン文字を使用する国際的なサイトがいくつかあります。SEOに適したURLを使用しているため、URLに非ASCII文字が含まれています。

AntiXss.UrlEncode(少なくとも3.1では)は「国際文字」を安全なものとして扱うため、URIではなくIRIになります。

http://somesite.com/ja-JP/applications/search/セキュリティ-b200009

HttpUtility.UrlEncodeは、URI(RFC3986)の正しいエンコーディングを生成します。

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

しかし、私はむしろAntiXssライブラリを使用するという私たちの標準に従いたいと思います。

AntiXss / WPL 4.0がリリースされたことは知っていますが(デフォルトでは国際文字を安全として扱わなくなったようです)、API名が変更されたため、アップグレードするにはアプリケーションに大幅な変更を加える必要があります。

だから、私は次のいずれかの答えに満足しているでしょう:

  • AntiXssを誘導して、Uri標準と互換性のあるUrlEncodeを実行する方法。
  • AntiXssライブラリのIRI準拠の出力(望ましい)を使用する場合、タイ(または他の場所)の古いプロキシサーバーとの互換性の問題に備えていないという安心感があります。ブラウザマトリックスに対してテストできます。 、ただし、私たちとお客様の間に存在する可能性のあるすべての中間ネットワーク機器ではありません)。
  • HttpUtility.UrlEncodeは私たちが使用すべきものであり、AntiXss.UrlEncodeよりも著しく安全性が低くありません。
  • 私が考えていない他のより良い解決策があります。

ありがとう

4

1 に答える 1

0

(LdapEncodeを除いて)API名はそれほど変更されていませんが、非常に古いものがまだ残っています。実際、メソッド名は3.5と同じであり、古い非推奨のメソッドを削除していないので、立ち寄って3.5で行ったのと同じ警告を受け取ることができるはずです。

4.0で問題が発生した場合は、遠慮なく私にバグを報告してください..bdorrans@その大きな悪いborgドメイン名:)

于 2010-10-25T15:51:11.900 に答える