㈠ html5注冊功能怎麼將賬號密碼存儲在本地
源碼如下
<script>
//先查看是否有本地數據(記住密碼)
/* function myfunction(){
var email = localStorage.getItem("email");
var password = localStorage.getItem("password");
if(email!=null&&password!=null){
alert("郵箱:"+email+"密碼:"+password);
$.ajax({
url : '../servlet/LoginServlet?choose=login',
data : {
email : email,
password : password
},
dataType : 'json',
success : function(data) {
if (data.msg == "") {
alert("用戶名或密碼錯誤");
} else {
//登錄成功後保存session,如果選擇了記住密碼,再保
存到本地
//window.location.href ='../index/index.jsp';
}
},
error : function() {
alert("系統錯誤");
}
});
}else{
//alert("沒有信息");
}
}
function saveStorage(){
var email = document.getElementById("email").value;
localStorage.setItem("email",email);
var password = document.getElementById("password").value;
localStorage.setItem("password",password);
}
function login(){
$.ajax({
url : '../servlet/LoginServlet?choose=login',
data : {
email : $('#loginform input[name=email]').val(),
password : $('#loginform input[name=password]').val()
},
dataType : 'json',
success : function(data) {
if (data.msg == "") {
alert("用戶名或密碼錯誤");
} else {
//登錄成功後保存session,如果選擇了記住密碼,再保存到
本地
window.location.href ='../index/index.jsp';
}
},
error : function() {
alert("系統錯誤");
}
});
}
function reg(){
$.ajax({
url : 'servlet/LoginServlet?choose=reg',
data : {
username : $('#regform input[name=username]').val(),
password : $('#regform input[name=password]').val(),
email : $('#regform input[name=email]').val(),
},
dataType : 'json',
success : function(data) {
if(data.msg == false){
alert("注冊失敗");
}else{
alert("注冊成功請返回登錄");
}
},
error : function() {
alert("系統錯誤");
}
});
} */
$(document).ready(function(){
//讀取 localStage 本地存儲,填充用戶名密碼,如果自動登錄有值直接跳轉
;
//相反,跳轉到本頁面,等待登陸處理
var storage = window.localStorage;
var getEmail = storage["email"];
var getPwd = storage["password"];
var getisstroepwd = storage["isstorePwd"];
var getisautologin = storage["isautologin"];
if("yes" == getisstroepwd)
{
if("yes" == getisautologin)
{
if(( ("" != getEmail) ||(null != getEmail)) && (("" !=
getPwd) ||(null != getPwd)))
㈡ 前端是否需要對密碼進行加密傳輸 && HTTPS
最近學習node,寫demo登陸和注冊功能的時候因為要考慮後台的加密和安全所以也想了下前端的,前端傳輸密碼的時候是否應該加密之後再傳輸呢
看了一些網站的登陸,csdn、等是明文傳輸,但騰訊、網路這些一線大站是經過前端加密的,看了些大佬的文章,順便自己搬個凳子記個筆記
前端的加密本身不能對網站的安全性有任何提高功能,所有的關於網站的安全技術都應該放在後台,但是這也不是完全沒有意義,可以增加攻擊成本,盡可能降低攻擊帶來的損失,畢竟丟了密文比丟了明文要強,而且犯罪分子技術參差不齊,簡單的加密能夠攔截很大一部分菜鳥,至於高手。。。
最後看到比較統一的是隱秘信息傳輸應該使用https
這篇文章只是想弄懂流程和原理,不會去糾結具體的術語
HTTP協議以明文方式發送內容,不提供任何方式的數據加密,處在同一網路中的其它用戶可以通過網路抓包來竊取和篡改數據包的內容,甚至運營商或者wifi提供者,有可能會篡改http報文,添加廣告等信息以達到盈利的目的
可以通過和SSL(Secure Socket Layer,安全套接層)組合使用來為瀏覽器和伺服器之間的通信加密。在這條加密線路上進行通信的http被稱為HTTPS(HTTP Secure,超文本傳輸安全協議)。
SSL證書(Secure socket layer),就是遵守SSL協議,由受信任的數字證書頒發機構CA頒發,主要用來提供對用戶瀏覽器和伺服器的認證,對傳送的數據進行加密和隱藏,確保數據在傳送中不被改變保證數據的完整性,加密方式為「非對稱加密」和「對稱加密」。
1、用戶連接到你的Web站點,該Web站點受伺服器證書所保護
2、你的伺服器進行響應,並自動傳送你網站的數字證書給用戶,(瀏覽器內置一個受信任的機構列表和這些機構的證書)用戶的瀏覽器查看該證書是否存在於瀏覽器的受信任機構列表中,並且通過伺服器證書中的信息與當前正在訪問的網站(域名等)是否一致來鑒別你的網站,鑒別沒成功會提醒用戶是否繼續該訪問
3、鑒別成功後,用戶的瀏覽器產生一把唯一的會話鑰匙,用以跟網站之間所有的通訊過程進行加密,會話密鑰是隨機生成,每次都會有不一樣的結果,
4、使用者的瀏覽器以網站的公鑰對交談鑰匙碼進行加密,以便只有讓你的網站得以閱讀此交談鑰匙碼
1、使用HTTPS協議可認證用戶和伺服器,確保數據發送到正確的客戶機和伺服器;
2、HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路協議,要比http協議安全,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性。
3、HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
4、谷歌曾在2014年8月份調整搜索引擎演算法,並稱「比起同等HTTP網站,採用HTTPS加密的網站在搜索結果中的排名將會更高」。
1、HTTPS協議握手階段比較費時,會使頁面的載入時間延長近50%
2、HTTPS連接緩存不如HTTP高效,會增加數據開銷和功耗,甚至已有的安全措施也會因此而受到影響;
3、SSL證書需要錢,功能越強大的證書費用越高
4、SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名
5、HTTPS協議的加密范圍也比較有限,在黑客攻擊、拒絕服務攻擊、伺服器劫持等方面幾乎起不到什麼作用。最關鍵的,SSL證書的信用鏈體系並不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。
知乎各位大佬的回答 https://www.hu.com/question/25539382
HTTP與HTTPS的區別 https://www.cnblogs.com/wqhwe/p/5407468.html