2016-09-15 198 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