如何识别上传的excel文件是否与下载的相同?
我正在开发使用Java的excel下载和上传function。
我在我的屏幕上有一个链接,通过它,用户将下载一个excel。
我提供了上传excel的function。 但是,在上传的时候,我想限制用户只上传下载的那个excel文件来维护安全。
我将如何能够做到这一点?
我正在使用Java的JXL API。
编辑:用户将下载该文件,将具有所有受保护的单元格。
用户将更改其中的细节,然后重新上传。
用户可能会复制excel的内容并保存在另一个excel文件中,然后添加一些垃圾数据,这可能会遇到一些安全问题。
为了避免上传文件,我想确定文件是否与下载文件相同。
一个想法是在文件内的某处添加一个唯一的ID,并locking这些单元格进行编辑。
您可以查看本教程如何locking或解锁受保护工作表的特定区域
此外,您可以比较文件的创builddate时间戳,并检查它们是否相同。
做你想做的事是不可能的。 用户将有权访问您给他们的一切。 如果他们攻击你,他们可以用它来欺骗该文件是相同的。 您需要对用户的内容进行数据validation,就像您询问用户数据的时间一样。
可能最接近的是检查每个locking的单元格是否仍然使用相同的密码locking。 但是,仍然不能保证他们没有破解你的密码,而且一旦你正在查看每个单元,你也可以validation这个值,而不是锁。