查看完整版本: 暴露jQuery的安全疑問
頁: [1]

opspeed 發表於 2015-11-22 12:31 PM

暴露jQuery的安全疑問

最近把form改成用jQuery來接收欄位做登入媒介,請問下圖直接暴露jQuery抓取到的欄位值,會有安全上的疑慮嗎?



<div></div>

bpflsll234 發表於 2015-11-23 08:40 AM

主要的安全檢查還是要寫在server

就算沒有用jquery, 就算沒有用ajax, 只要開發者工具一打開, 還是有辦法知道網站是抓取哪些欄位

opspeed 發表於 2015-11-23 10:37 AM

bpflsll234 發表於 2015-11-23 08:40 AM static/image/common/back.gif
主要的安全檢查還是要寫在server

就算沒有用jquery, 就算沒有用ajax, 只要開發者工具一打開, 還是有辦法知 ...

jQuery抓取到的值,開發者工具更改是不是無效呢?

theloserbm 發表於 2015-11-23 10:54 AM

在這方面ajax和沒有ajax是一樣的

保安主要是靠HTTPS加密來做, 密碼是使用者自己輸入的, 所以在進入HTTPS通道之前使用者可以看得到.

所以身為一個使用者, 在輸入密碼時必須確認網址正確(很重要
), 並且有正確的HTTPS證書(很多瀏覽器會用綠色或是一個鎖頭來標誌). 證書不正確瀏覽器也會發出警告讓使用者小心.

alextang1030 發表於 2015-11-27 03:07 PM

AJAX 也就是只用來傳送值,值本身的對錯檢查是在後台(PHP)部份
如果都到了能用開發者工具去取得用戶在AJAX的值的話
那相信是用戶的電腦本身就已經給下毒了。

補充內容 (2015-12-1 10:06 AM):
值本身的對錯檢查是在後台(PHP)部份<--這是指
那個用戶輸入的值是不是你想要的/是不是正確的,基本上都會在PHP的檔案中做檢查,而不是JS檔中做<br><br><br><br><br><div></div>

theloserbm 發表於 2015-12-1 10:07 PM

alextang1030 發表於 2015-11-27 03:07 PM static/image/common/back.gif
AJAX 也就是只用來傳送值,值本身的對錯檢查是在後台(PHP)部份
如果都到了能用開發者工具去取得用戶在AJAX ...

嘛... 從安全上來說是這樣沒錯, 但是以現代的網頁來說, 在客戶端(JS)檢查會有較好的用戶體驗, 也能減少伺服器的負擔.所以在兩邊都做也是常見的喔!
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

alextang1030 發表於 2015-12-2 09:17 PM

theloserbm 發表於 2015-12-1 10:07 PM static/image/common/back.gif
嘛... 從安全上來說是這樣沒錯, 但是以現代的網頁來說, 在客戶端(JS)檢查會有較好的用戶體驗, 也能減少伺 ...

一般安全性不大的也是可以,我自己也會有用到
但只要是跟安全性有關的,如密碼或個人資料,我都偏向在後台檢查會比較好...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

sheauren 發表於 2015-12-4 08:02 AM

帳密因為server端檢查
client端本來就是上使用者填入的地方
因此在js上看的到問題不大
畢竟就算是form submit一樣看得到
把瀏覽器的開發者功能打開還是看得到傳輸資料@@
真的怕被try密碼 前端多個captcha認證避免用js直接try
captcha不一致server就先reject
後端則是多個類似三次失敗鎖帳號的功能

opspeed 發表於 2015-12-6 01:09 AM

sheauren 發表於 2015-12-4 08:02 AM static/image/common/back.gif
帳密因為server端檢查
client端本來就是上使用者填入的地方
因此在js上看的到問題不大


了解~剛學會由ajax傳至後端怕直接暴露會有安全上問題
google也很難敘述此問題,因此上來這裡問

opspeed 發表於 2015-12-6 01:10 AM

alextang1030 發表於 2015-12-2 09:17 PM static/image/common/back.gif
一般安全性不大的也是可以,我自己也會有用到
但只要是跟安全性有關的,如密碼或個人資料,我都偏向在後 ...

後台有做判斷,這樣應該就比較安全了?<br><br><br><br><br><div></div>

tonnymarkx 發表於 2015-12-7 09:04 AM

樓主  你這種方式 安全太低

我建議 底下 幾種方法

1. CSRF 標記  (自己 google)
2. 每一種輸入 的 類型 要加上 規則  好比說 名字 不可以超過 幾個字元 不可以 低於幾個字元
3. 圖像認證 (必備)
4. 嘗試失敗 4次  delay 10 分鐘  並記錄 IP

這幾種 請先試試看



alextang1030 發表於 2015-12-7 01:52 PM

opspeed 發表於 2015-12-6 01:10 AM static/image/common/back.gif
後台有做判斷,這樣應該就比較安全了?

當然不可能,只是比較安全而已,你還可以再加上樓上的建議。
安全檢查是多多益善,但也得看你需要的程度,太多會影響用戶使用,而且滿多餘
但基本的還是得做

theloserbm 發表於 2015-12-7 04:37 PM

你們稍稍有些離題了. 原PO的問題是原裝form和ajax對登入時所輸入的密碼是否有暴露的問題.

你們所說的安全檢查無論在form和ajax上都是適用的, 並不是只有用ajax時才需要.

關於圖像認證, 個人認為只有註冊的時候比較需要, 登入的時候是可有可無.
登入的防護主要是用錯誤N次則封鎖一段時間來做, 或是錯誤後才出現圖像.
頁: [1]