我有一个excel文件,它有一个密码来保护它免受编辑。我在javascript页面上有这行代码,打开excel文件进行编辑(由包含该行的函数打开并由函数编辑而不是由用户编辑的文件):
var Book = Excel.Workbooks.Open(file,null,false,null,null,"Password");
问题是,如果用户将查看源代码,他可以学习密码。我对此问题的唯一保护是包括一个包含此功能的外部JS页面:
function ExcelPassword(){
return "Password";
}
并将代码行更改为:
var Book = Excel.Workbooks.Open(file,null,false,null,null,ExcelPassword());
对我来说这是一个很好的解决方案,但我想知道是否有更好的方法可以隐藏密码。也许带有某种简单的描述,甚至可以阻止来自view / download的外部JS文件。
p.s.
I cannot use anything external (AJAX, JQuery) and there's no server involved.
答案 0 :(得分:0)
一旦在客户端计算机/浏览器上加载页面。您无法保护客户端的密码。
您的案例的最佳解决方案可能是您通过AJAX进行服务器调用并打开文件供客户端编辑。 为此,您可以使用servlet或php页面来监听请求并提供密码。现在向客户端发送一个标志,指出客户端有权编辑excel文件。
另一种解决方案可以是解密密码然后将其发送给用户。然而,这不是最佳解决方案,因为如果用户了解您的解密机制,那么您的密码可以很容易地被他解密