作者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/cn.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