Javascript - 从源代码视图中隐藏字符串

时间:2014-07-06 06:55:05

标签: javascript passwords

我有一个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.

1 个答案:

答案 0 :(得分:0)

一旦在客户端计算机/浏览器上加载页面。您无法保护客户端的密码。

您的案例的最佳解决方案可能是您通过AJAX进行服务器调用并打开文件供客户端编辑。 为此,您可以使用servlet或php页面来监听请求并提供密码。现在向客户端发送一个标志,指出客户端有权编辑excel文件。

另一种解决方案可以是解密密码然后将其发送给用户。然而,这不是最佳解决方案,因为如果用户了解您的解密机制,那么您的密码可以很容易地被他解密