作者linkhome (james)
看板PHP
標題[請益] ajax如何做到防修改
時間Sat Apr 18 22:38:11 2015
想請教網頁用大量的ajax去做post表單在把值傳回
但是資料會牽涉到資料存到資料庫
如果要做到防Client端修改值
只能寫程式
比對Client端的送出的值
與Server端送到Client端的值一樣嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.142.150
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1429367894.A.391.html
※ 編輯: linkhome (114.39.142.150), 04/18/2015 22:38:51
※ 編輯: linkhome (114.39.142.150), 04/18/2015 22:39:53
1F:→ MOONRAKER: 保證資料送出和送回一樣 那你何必還做ajax 04/18 22:49
2F:→ MOONRAKER: 通通唯讀不就結了 04/18 22:50
3F:推 GALINE: 能夠詳細解釋一下是要防止什麼東西被怎樣修改嗎? 04/18 23:04
4F:→ GALINE: 單看這段敘述,直覺想到「線上遊戲擋外掛」..那是大工程 04/18 23:05
5F:→ MOONRAKER: 我是想到一個「保證SELECT選項送出和送回一樣」那是當 04/18 23:22
6F:→ MOONRAKER: 然的阿 你不自己建lookup table來對照沒人會幫你 04/18 23:23
7F:推 rockmanalpha: 其實用Ajax的操作通常只是替代跳頁的表格提交 04/19 00:16
8F:→ rockmanalpha: 這樣的話你對POST過來的資料做檢查就好了 04/19 00:17
9F:→ rockmanalpha: 如果你是擔心CSRF的問題 就頁面帶一個token值順便放 04/19 00:18
10F:→ rockmanalpha: 到session裡面 然後在ajax呼叫後端檢查token便可 04/19 00:19
11F:推 rockmanalpha: 至於資料有沒有被修改 如果你是怕用戶送出到Server 04/19 00:23
12F:→ rockmanalpha: 中間有人把資料修改 那你直接用https就可以保障資料 04/19 00:23
13F:→ rockmanalpha: 安全了 04/19 00:24
14F:推 matrixki: 應該是在問token 樓上正解 我猜啦 XDD 04/19 00:28
15F:推 studentjason: 把要post 的資料整包做一次hash, 連 post 資料一起 04/22 22:32
16F:→ studentjason: 傳到server,然後server 收到資料,也做一次hash,再 04/22 22:32
17F:→ studentjason: 比對hash 的結果是不是一樣 04/22 22:32
18F:→ gname: POST的資料做 hash ,要怎麼做? 在哪裡做? 誰來做? 04/23 11:52
19F:推 studentjason: 請參考crsf的做法,自行做變化 04/23 11:59