我看了一下,workerman 官網(wǎng)登錄的時(shí)候,密碼是明文直接向后臺(tái)發(fā)送的,這不太讓人放心,請(qǐng)大佬改下,客戶端先不可逆加密處理一下再發(fā)送到后端,讓使用者更放心,謝謝。
擔(dān)心什么問(wèn)題
你才天真,我不是懷疑站長(zhǎng)的人品,我只是說(shuō)這樣理論上存在不安全的問(wèn)題,我的賬號(hào)是郵箱,我的密碼直接明文通過(guò)http請(qǐng)求發(fā)送到服務(wù)器,這不是安全的做法吧,總讓人感覺(jué)不專業(yè)。
如果連接的是別人的網(wǎng)絡(luò),別人通過(guò)代理的方式是能拿到https的數(shù)據(jù),他應(yīng)該是擔(dān)心這一點(diǎn)把,別亂連別人的網(wǎng)絡(luò)和別安裝別人的證書(shū)就行了。
瀏覽器飄紅警告,但還是能用的,點(diǎn)擊無(wú)視風(fēng)險(xiǎn)繼續(xù)訪問(wèn)就可以了,這種就不用安裝證書(shū),也能正常訪問(wèn)的,也算是特殊情況下的風(fēng)險(xiǎn)吧。
這其實(shí)本質(zhì)是個(gè)信任問(wèn)題,關(guān)鍵在于后端怎么處理密碼。
哪怕你登錄時(shí)用不可逆算法加密后再提交,但你輸入賬號(hào)和密碼那一刻,仍然是明文存在內(nèi)存中的。如果站點(diǎn)真的要作惡,完全可以在混淆后的 JS 里提前截獲明文,再加密后發(fā)送,外部是沒(méi)法察覺(jué)的。
難不成你還要對(duì)每個(gè)站點(diǎn)都去逆向 JS 驗(yàn)證它有沒(méi)有偷偷干這種事?
所以歸根結(jié)底就是一句話:如果你不信任這個(gè)站,就別用這個(gè)站。
另外補(bǔ)充一點(diǎn):現(xiàn)在的瀏覽器基本上有生成隨機(jī)密碼的功能,在注冊(cè)的時(shí)候直接隨機(jī)生成就行,每個(gè)網(wǎng)站的密碼都不一樣,這樣子就不用擔(dān)心密碼泄露被人拿去撞庫(kù)了。
我說(shuō)的是一個(gè)專業(yè)的問(wèn)題,專業(yè)的網(wǎng)站應(yīng)該有最基本的安全常識(shí)。如果有面試官問(wèn)你如何保證用戶信息的安全性,你說(shuō)如果用戶不信任這個(gè)站,就別用這個(gè)站。你不感覺(jué)很無(wú)厘頭嗎?
另外你說(shuō)的每個(gè)網(wǎng)站的密碼都不一樣,現(xiàn)在這么多系統(tǒng),你每個(gè)網(wǎng)站都用一個(gè)密碼,你記性這么好嗎?
你看他的回復(fù),他是擔(dān)心服務(wù)器后端的密碼是明文儲(chǔ)存的。就是說(shuō)擔(dān)心的是數(shù)據(jù)表中存的是明文密碼,而不是密碼的哈?;蚱渌幚砗蟮淖址?。
其實(shí)我感覺(jué)沒(méi)必要糾結(jié)太多,直接自動(dòng)保存的密碼就得了。
糾正你下,用戶名密碼是ssl加密傳輸?shù)模皇敲魑膫鬏敗?/p>
系統(tǒng)保證密碼ssl加密傳輸和服務(wù)端加密存儲(chǔ)就可以保證密碼不會(huì)被泄露,作為一個(gè)問(wèn)答系統(tǒng)這個(gè)安全性已經(jīng)足夠了。
至于你瀏覽器是否被黑客控制不是我考慮的事情。如果你瀏覽器被黑客控制,即使我把密碼加密傳輸也沒(méi)用,黑客只需要簡(jiǎn)單的讀取表單內(nèi)容或者監(jiān)聽(tīng)鍵盤(pán)就可以了,這種情況下在ssl加密的基礎(chǔ)上再加密一次基本上沒(méi)有什么意義。
他根本就沒(méi)搞清楚ssl傳輸和瀏覽器控制臺(tái)看到的“明文”之間的區(qū)別,所謂的"明文"也僅僅是在瀏覽器層面,你中木馬了怎么加密都沒(méi)用,如果請(qǐng)求被劫持?jǐn)r截,看到的也是ssl加密的
樓主糾結(jié)的好像不是明文傳輸?shù)膯?wèn)題,可能他在輸入密碼時(shí),因?yàn)槟苤庇^的看到未加密的密碼,加上他在其它站點(diǎn)可能都是用的同一個(gè)密碼,從安全角度,這會(huì)讓他(或者一些不太懂的使用者)感覺(jué)到不安。密碼加密,從感官上來(lái)說(shuō),'顯得'更專業(yè)。
我感覺(jué)他的意思是不應(yīng)該讓后端拿到我輸入的密碼,而應(yīng)該直接拿到md5或hash以后的字符串。(說(shuō)白了是在信任鏈中的服務(wù)器能拿到明文秘鑰的的不信任。
首先,瀏覽器中的使用隨機(jī)建議的加強(qiáng)密碼已經(jīng)足夠。
其次,出于信任問(wèn)題,我相信站長(zhǎng)不會(huì)在后端儲(chǔ)存明文密碼,業(yè)界普遍會(huì)對(duì)密碼進(jìn)行一次哈?;蛘適d5或者sha1.而且甚至?xí)o每個(gè)人的密碼加一個(gè)字段,隨機(jī)鹽,來(lái)保證每個(gè)人即使密碼相同也會(huì)導(dǎo)致生成的密碼不同,給逆向窮舉帶來(lái)指數(shù)級(jí)難度增長(zhǎng)。
我感覺(jué)你擔(dān)心的不是明文傳輸,而是后端數(shù)據(jù)表的密碼字段是設(shè)計(jì)吧。我理解你擔(dān)心的事情,但是我感覺(jué)對(duì)這個(gè)事情敏感的就不會(huì)使用多站同密碼;不敏感的也不會(huì)提出這個(gè)問(wèn)題。我認(rèn)為對(duì)于這么一個(gè)問(wèn)答網(wǎng)站沒(méi)有問(wèn)題。
其實(shí)我覺(jué)得,有疑問(wèn)不明白發(fā)帖沒(méi)問(wèn)題,但是因?yàn)樽约翰欢椭苯由w棺定論那就不合適了。
應(yīng)該說(shuō)得是前端傳遞參數(shù)進(jìn)行加密, 后端進(jìn)行解密對(duì)數(shù)據(jù)進(jìn)行對(duì)比吧
哈哈,笑死我了。
請(qǐng)先了解一下https
拋開(kāi)https再客戶端加密再傳輸就能保證安全?這不是掩耳盜鈴嗎?
我不知道你有什么可笑的,我一直強(qiáng)調(diào)我說(shuō)的不是傳輸過(guò)程中的問(wèn)題,你怎么就看不懂呢?就一直往 https 上去扯?https 不是傳輸過(guò)程中的事兒?
就算你不是說(shuō)https的事情
世界上國(guó)際大站明文傳輸密碼的多如牛毛,其中不乏google facebook 你卻在這里雞蛋挑骨頭
你還說(shuō)不是懷疑站長(zhǎng)的人品。那么我都不知道你發(fā)文的目的究竟是為何。
你可能對(duì)明文傳輸有一定的誤解,實(shí)際上即使你使用 阿里云
的登錄輸入的密碼也是原內(nèi)容發(fā)送的,有ssl的協(xié)議只要你不安裝三方證書(shū)你傳輸過(guò)程的內(nèi)容是足夠安全的
就像老板的一個(gè)妙想。
老板:小王我最近按了F12,看見(jiàn)表單提交的密碼是明文啊,很不安全。
我:好的老板馬上處理。然后我把密碼再提交的時(shí)候用base64使用了5次。
老板:你看這不就好了,雖然我提交了密碼你看誰(shuí)能看懂。
我:是是。
老板:你的技術(shù)不行啊。再這樣降你工資。
我:。。。。。(我心里)你提交密碼只能你自己能看到。別人看到是什么鬼?別人有密碼還需要注意不注意你是明文?你給工資你說(shuō)的都對(duì)。