我有一个基于 Java、Wicket 和 JQuery 的 Web 应用程序,它具有使用户能够通过 multipart/form-data 上传文件(图像、pdfs、rtf)的功能。
我们的网络安全基础设施过滤所有 http 流量以获取可能的恶意内容,例如 XSS 攻击、SQL 注入、缓冲区溢出等
该过滤器不区分普通文本输入字段和文件数据,因此它会从许多上传的二进制文件中提取误报,从而阻止这些文件被上传。我无法更改安全策略。
似乎最好的解决方法是将文件数据进行 base-64 编码,以便使用 Content-Transfer-Encoding:base64 发送,类似于电子邮件客户端所做的。
有什么方法可以指示浏览器将二进制传输为 base64 或其他一些非二进制格式?
如果没有,是否可以使用一些 JavaScript 手动完成?