2016-09-15 104 views
-1

我已经看到类似于这个的其他问题,但我已经尝试了答案,它似乎没有做我想做的事(如果确实如此,我就是看不到它)确实,请在评论中告诉我,我很新)。用Javascript编写用户名和密码

我想密码保护一个网站(这是一个个人家庭网站,所以我不担心加密或任何东西,除非它是超级简单的使用JavaScript),以便只有我的家人才能上。我想要密码被个性化。

HTML代码

<form id="usr-psswd"> 
    Name: <input type="text" name="name" id="name"> 
    Username: <input type="text" name="usr" id="usr"> 
    Password: <input type="text" name="psswd" id="psswd"> 
    <input type="button" onclick="submission()" value="Submit"> 
</form> 

脚本代码

function submission(){ 
    var name = document.getElementByID = "name"; 
    var psswd = document.getElementByID = "psswd"; 
    var usr = document.getElementByID = "usr"; 

    var name = new Array(); 
    var usr = new Array(); 
    var psswd = new Array(); 
} 

我的问题:我怎么获取JavaScript把输入到该停留的页面,这样的一个数组当你尝试去index.html(这是密码保护的地方),以便他们不必每次都设置它。

此外,如果它足够简单,我怎样才能通过加密运行多个密码,并将其保存在网页上,这样如果有人碰巧在这里得到的密码是安全的?

是的,我意识到var namevar psswdvar usr重复两次。那是因为我现在懒得给他们命名不同的东西。我只需要知道如何将var name = document...纳入var name = new...。谢谢!

+5

密码永远不会安全,页面也不会安全,因为每个有权访问该页面的客户端都可以同时打开加密密码和用于加密密码的方法。另外,只要在浏览器的控制台中输入JavaScript命令,任何人都可以轻松完全绕过认证。这就是为什么认证是在服务器端完成的。至少看看你是否可以通过HTTPS配置在Web服务器上运行磨坊http基本认证,这至少比没有什么好。 –

+0

记住客户端的唯一方法是使用全局变量。但是,这当然不是你想要在那里保存密码的。你应该将这些东西保存在一个php SESSION或其他东西中。顺便提一下你的submit()函数也是错误的。要获取表单内容,请说:document.getElementById(“name”);然后你用数组覆盖它? – Saskia

+0

@JasonC我没有服务器(至少没有我知道的),我的php是不存在的。我将如何保存他们的服务器端?此外,该页面只能提供给我的家人,所以我并不担心信息被盗。我也有一个免责声明,说它没有加密,不能重复使用其他密码。再次搭配旁路。这里没有敏感信息,所以这不是问题。 – James

回答

3

我知道你说过你想为网站做一个简单的认证,但是在JavaScript中做这件事是不安全的,用户名/密码很容易被检索到。

如果你想要的东西非常简单和快速的做。我建议你使用.htaccess认证做到这一点:

要做到这一点,该系统需要两个文件 - .htaccess文件和文件.htpasswd

的的.htaccess代码:

AuthType Basic 
AuthName "restricted area" 
AuthUserFile /home/user/html/protect-me-dir/.htpasswd 
require valid-user 

上面的代码保护一个在袋鼠叫protect-me-dir目录t水平。 AuthUserFile值总是特定于您的主机配置。如果您不知道该值应该是多少,请执行phpinfo()并找到值DOCUMENT_ROOT


的htpasswd的代码:

your_username:your_password 
another_user:another_password 
you_get:the_idea 

的htpasswd文件中包含的用户名和允许的用户密码。每行一个。


否则,我可能会做一些事情的也许有使用PHP的组合,例如数据库的正确登录票友。

我希望这会有所帮助。

+1

1. MD5是_hashing_而不是_encrypting_。加密是可逆的,哈希不是。 2. MD5不安全。除此之外,基本身份验证可能是最简单的事情,也是有用的。这并不美妙(毕竟,它基本上是),但它可以防止大多数未经授权的访问尝试,JS“安全”将会高兴地通过。 – vlaz

+0

对,你对MD5是正确的,我会修改那部分......另外我之所以提到'.htaccess'是因为我觉得他似乎在寻找基本的认证。 :D – Fadi

+1

我同意 - 基本认证确实看起来像OP想要的。 – vlaz