如何识别上传的excel文件是否与下载的相同?

时间:2013-09-03 13:03:09

标签: java excel upload download jxl

我正在开发excel下载&使用Java上传功能。

我的屏幕上有一个链接,用户可以通过该链接下载excel。

我提供上传excel的功能。但是,在上传时,我希望限制用户只上传下载的excel文件以保持安全。

我将如何做到这一点?

我正在使用JXL API for Java。

修改 用户将下载该文件,该文件将包含所有受保护的单元格。

用户将更改其中的详细信息,然后重新上传。

用户可以复制excel的内容并保存在另一个excel文件中,然后在其中添加一些垃圾数据,这可能会遇到一些安全问题。

为了在上传文件时避免使用它,我想确定文件是否与下载文件相同。

3 个答案:

答案 0 :(得分:0)

一个想法是在文件中的某处添加一个唯一的ID,并锁定那些单元格进行编辑。

您可以查看本教程,了解如何Lock or unlock specific areas of a protected worksheet

此外,您可以比较文件的创建日期时间戳并检查它们是否相同。

答案 1 :(得分:0)

不可能做你想做的事。用户可以访问您提供的所有内容。如果他们攻击你,他们可以使用它来欺骗文件是相同的。您需要对来自用户的内容进行数据验证,就像您向用户询问数据时一样。

可能最接近的是检查每个锁定的单元格是否仍然使用相同的密码锁定。但是,仍然无法保证他们没有破解你的密码,一旦你正在查看每个单元格,你也可以验证价值而不是锁定。

答案 2 :(得分:0)

  1. 用密码保护工作表(或必填单元格)。
  2. 在上传时,请验证密码。
  3. 将密码存储在属性文件或安全的位置。

我已经使用Apache POI库和“ validateSheetPassword(pwd)”方法解决了问题。