マルチパート/フォームデータを介してユーザーがファイル (画像、pdf、rtf) をアップロードできるようにする機能を備えた、Java、Wicket、および JQuery に基づく Web アプリケーションがあります。
当社の Web セキュリティ インフラストラクチャは、すべての http トラフィックをフィルタリングして、XSS 攻撃、SQL インジェクション、バッファ オーバーランなどの悪意のある可能性のあるコンテンツを検出します。
フィルターは、通常のテキスト入力フィールドとファイル データを区別しないため、アップロードされた多くのバイナリ ファイルから誤検知を検出し、それらのファイルがアップロードされないようにします。セキュリティ ポリシーを変更できません。
これを回避する最善の方法は、ファイル データを base-64 でエンコードして、電子メール クライアントと同様の Content-Transfer-Encoding:base64 で送信することです。
バイナリをbase64またはその他の非バイナリ形式として転送するようブラウザに指示する方法はありますか?
そうでない場合は、JavaScript を使用して手動で行うことができますか?