Javascript密码保护区..必须更好的方式

时间:2015-04-28 13:50:07

标签: javascript password-protection

我在javascript场景中仍然很新鲜,但是我有一些代码可以按照预期用于所有意图和目的...但是只需要一个更好更清洁的方法来实现它,我会只是喜欢看它如何实现。

[GLSUser] getTokenFromGoogle [account: <ELLIDED:2885>, callingPkg: com.google.android.gms, service: oauth2:https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/pos

所以你可以看到..输入所有不同的密码很好并且可以预期,但是只是将所有不同的密码相互比较以确定它们是否有效的整个检查功能必须是最糟糕的工作方式之一围绕着这个......哈哈,我看着它几乎令人尴尬。

3 个答案:

答案 0 :(得分:3)

实施登录服务器端。您的服务器应该决定用户是否值得信任(通过输入已知的凭证对),如果是,则允许访问网站的受限制部分。

如果用户尚未输入正确的凭据且没有正确的会话/ cookie来证明,则服务器应拒绝进入。

了解如何使用您喜欢的服务器端语言(PHP,NodeJS等)实现简单的登录/身份验证系统。

答案 1 :(得分:2)

您可以将密码放在数组中,然后使用数组的indexOf方法。它返回数组中元素的索引,如果不存在则返回-1。

...
var passwords = ["pass1", "pass2"];
if (passwords.indexOf(this.document.login.pass.value) !== -1) {
...

但是,在JavaScript 中比较密码并不安全,每个人都可以看到代码或更改代码。

答案 2 :(得分:1)

我将回答一个更普遍的问题,即不参与有关客户端密码验证的更重要问题... oye。一般的问题是:给定一个字符串列表,你如何匹配一个?

首先是获取字符串(密码)列表并将它们放入数组中。然后,您可以使用内置数组方法匹配索引,例如indexOf

function Restricted() {
  var strings = ['pass1', 'pass2', 'pass3', 'pass4', 'pass5'];

  if (strings.indexOf(this.document.login.pass.value) !== -1) {
    //Do stuff if correct
    setTimeout(function() {
      setLocation('#');
    }, 2000);
  } else {
    //Alert them its wrong
  }
}
相关问题