javascript - 表單提交的時(shí)候密碼驗(yàn)證的問(wèn)題?
問(wèn)題描述
對(duì)表單這一塊不太熟,有以下幾個(gè)疑惑?
1.諸如在登錄驗(yàn)證用戶名和密碼的時(shí)候,二者都是同樣的方式提交到post到服務(wù)器嗎?2.get方式會(huì)把參數(shù)暴露到鏈接尾部(實(shí)際上會(huì)通過(guò)把key鍵值加密然后后端再解密校驗(yàn))?3.現(xiàn)在的表單常規(guī)處理方式是什么樣的?4.密碼校驗(yàn)的時(shí)候,諸如在比對(duì)密碼要求密碼中不能是3位同樣的連續(xù)數(shù)字?這個(gè)密碼會(huì)存在本地?還是服務(wù)器端來(lái)校驗(yàn)
問(wèn)題解答
回答1:登錄用戶名驗(yàn)證不是一般都一起post到服務(wù)器么。
get 方法是會(huì)把參數(shù)暴露在鏈接尾部,但是瀏覽器本身并沒(méi)有任何加密,如果加密需要自己整。
對(duì)于一些表單值,是否有效以及非空等,就要在提交前有提示,提升用戶體驗(yàn)。
都要搞,前端是為了用戶體驗(yàn)(發(fā)起請(qǐng)求前就得知問(wèn)題),后端是為了安全。
企業(yè)級(jí)服務(wù)的話上https,不要用明文。
回答2:假設(shè)用戶名必須在3位以上;密碼再6~32位;驗(yàn)證碼4位;1.點(diǎn)擊登陸的時(shí)候,檢測(cè)用戶名長(zhǎng)度大于3,密碼長(zhǎng)度6~32,驗(yàn)證碼長(zhǎng)度4;通過(guò)往下走,不通過(guò)alert;2.組織參數(shù);post到服務(wù)器,name pwd code3,服務(wù)器接收參數(shù)4.驗(yàn)證嗎長(zhǎng)度是否等于4,不等于4,return 驗(yàn)證碼長(zhǎng)度異常5.從session中拿code,和參數(shù)code是否一致,不一致return 錯(cuò)誤6.檢測(cè)用戶名長(zhǎng)度,密碼長(zhǎng)度,不對(duì)return 錯(cuò)誤7.如果需要對(duì)pwd做加密8.從數(shù)據(jù)庫(kù)中select name=name,pwd=pwd,有則返回user,沒(méi)有返回0
回答3:GET 是直接把數(shù)據(jù)在URL里顯示;POST 是“掩耳盜鈴”,URL看不到,但是用瀏覽器開(kāi)發(fā)者工具是能看到的;不管以上哪種,“黑客”通過(guò)抓包,也是可以在數(shù)據(jù)傳輸途中拿到明文的數(shù)據(jù);甚至可以對(duì)內(nèi)容進(jìn)行篡改/劫持,然后再傳給服務(wù)器,或者直接偽裝成服務(wù)器返回給你假的信息。如果使用HTTPS,那么數(shù)據(jù)傳輸?shù)臅r(shí)候 會(huì)先加密,相對(duì)安全。至于參數(shù)校驗(yàn),肯定是前后端都需要做的,因?yàn)榍岸说腏S校驗(yàn)很容易被繞過(guò)的。
回答4:get會(huì)暴露,post不會(huì)。安全點(diǎn)
相關(guān)文章:
1. mysql - 請(qǐng)問(wèn)數(shù)據(jù)庫(kù)字段為年月日,傳進(jìn)的參數(shù)為月,怎么查詢那個(gè)月所對(duì)應(yīng)的數(shù)據(jù)2. node.js - win 下 npm install 遇到了如下錯(cuò)誤 會(huì)導(dǎo)致 無(wú)法 run dev么?3. javascript - 我的站點(diǎn)貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?4. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?5. [python2]local variable referenced before assignment問(wèn)題6. Python2中code.co_kwonlyargcount的等效寫(xiě)法7. html - 移動(dòng)端radio無(wú)法選中8. php - 微信開(kāi)發(fā)驗(yàn)證服務(wù)器有效性9. javascript - vue+iview upload傳參失敗 跨域問(wèn)題后臺(tái)已經(jīng)解決 仍然報(bào)403,這是怎么回事啊?10. mysql - 如何在有自增id的情況下,讓其他某些字段能不重復(fù)插入
