javascript - 表單提交的時候密碼驗證的問題?
問題描述
對表單這一塊不太熟,有以下幾個疑惑?
1.諸如在登錄驗證用戶名和密碼的時候,二者都是同樣的方式提交到post到服務器嗎?2.get方式會把參數(shù)暴露到鏈接尾部(實際上會通過把key鍵值加密然后后端再解密校驗)?3.現(xiàn)在的表單常規(guī)處理方式是什么樣的?4.密碼校驗的時候,諸如在比對密碼要求密碼中不能是3位同樣的連續(xù)數(shù)字?這個密碼會存在本地?還是服務器端來校驗
問題解答
回答1:登錄用戶名驗證不是一般都一起post到服務器么。
get 方法是會把參數(shù)暴露在鏈接尾部,但是瀏覽器本身并沒有任何加密,如果加密需要自己整。
對于一些表單值,是否有效以及非空等,就要在提交前有提示,提升用戶體驗。
都要搞,前端是為了用戶體驗(發(fā)起請求前就得知問題),后端是為了安全。
企業(yè)級服務的話上https,不要用明文。
回答2:假設用戶名必須在3位以上;密碼再6~32位;驗證碼4位;1.點擊登陸的時候,檢測用戶名長度大于3,密碼長度6~32,驗證碼長度4;通過往下走,不通過alert;2.組織參數(shù);post到服務器,name pwd code3,服務器接收參數(shù)4.驗證嗎長度是否等于4,不等于4,return 驗證碼長度異常5.從session中拿code,和參數(shù)code是否一致,不一致return 錯誤6.檢測用戶名長度,密碼長度,不對return 錯誤7.如果需要對pwd做加密8.從數(shù)據(jù)庫中select name=name,pwd=pwd,有則返回user,沒有返回0
回答3:GET 是直接把數(shù)據(jù)在URL里顯示;POST 是“掩耳盜鈴”,URL看不到,但是用瀏覽器開發(fā)者工具是能看到的;不管以上哪種,“黑客”通過抓包,也是可以在數(shù)據(jù)傳輸途中拿到明文的數(shù)據(jù);甚至可以對內容進行篡改/劫持,然后再傳給服務器,或者直接偽裝成服務器返回給你假的信息。如果使用HTTPS,那么數(shù)據(jù)傳輸?shù)臅r候 會先加密,相對安全。至于參數(shù)校驗,肯定是前后端都需要做的,因為前端的JS校驗很容易被繞過的。
回答4:get會暴露,post不會。安全點
相關文章:
1. 點擊頁面就自動輸入到mysql.求解2. java - IDEA從SVN檢出項目 并在tomcat上運行 求詳細流程3. node.js - 帶有node_modules目錄的項目,用phpstorm打開速度極慢,怎么解決?4. node.js - nodejs使用formidable上傳文件問題5. java - 多叉樹求值,程序高手,算法高手看過來6. javascript - windos下第一次用Django無法正確創(chuàng)建工程目錄7. css - 請問B站頂部的模糊半透明導航條是怎么實現(xiàn)的呢?8. html5 - 有人做過防微信app界面的H5 demo嗎?9. javascript - JS用ajax爬取百度外賣店家信息10. 靜態(tài)資源文件引入無效
