如何在java中保护文件上传

时间:2012-07-02 10:49:42

标签: java javascript struts xss

我正在使用java开发一个Web应用程序,用户将上传一个zip文件。该文件将包含css文件,图像,javascript文件,flash文件等.zip文件将上传到tomcat的webapp目录中。目的是用户将皮肤上传为zip文件,我的servlet将其提取到webapp中的某个位置。

我关心的是如何在这里处理安全问题。用户可以在js文件或其他文件中编写xss攻击代码。所有文件都在zip文件中。我可以检查zip文件的扩展名或mime类型。除此之外我还可采取其他行动来防止任何形式的攻击。任何类型的示例代码片段都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您的问题没有说明您要对上传的内容做什么,但如果您想在您的网站上运行此问题,那么答案是您真的不希望人们上传自己的JavaScript 。在您身边运行的任何外国代码都可以改变任何内容,并使您的网站以您无法承担责任的方式行事。请阅读the Wikipedia entry on clickjacking以确信。

通过删除script标记来清除所有HTML以防止JavaScript执行,不允许自定义JavaScript,并且对于所有自定义需求都遵循@greyfairer建议使用带脚本检查的配置文件。

如果您担心用户将对您的网站做什么,请务必限制上传文件的大小(请参阅网络服务器文档)。