作者LaPass (LaPass)
看板PHP
标题Re: [请益] POST和GET传值问题!?
时间Wed Jan 14 12:25:45 2015
※ 引述《ahoo122002 (承让)》之铭言:
: 我想请问一个问题
: 就是我a.php 传资料到 b.php 是用<a href=b.php?id=$id>
: (不是用form method用POST)
: b.php 用GET接收
: (可是很多人改网址,就改变结果,感觉不是很安全)
: 是否有除了POST和GET
: 有其他方式可传值??
: 还是可以用硬体来解决这个问题!?
你要确保的是「这个值被看到有没有问题」
以及「确认他传的值有没有问题」
而不是让浏览的人看不到值
举例来说:
像这种东西很显然有问题
b.php?username=JONE&passwd=aa123
这就是属於把不该传的放到网址上去传的状况
另外像这种
b.php?id=3&op=edit
就要确认使用者有没有编辑id=3的权限之类的
其他像是流览、删除的动作,也是同一种状况
如果 id=3 是小明的照片,他设定为禁止外人浏览
那当别人进入这个页面时,就该挡下来 (有些人写程式没检查,这很糟糕)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.219.211
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1421209548.A.F75.html
1F:→ KawasumiMai: 是说有点好奇,PHP可以验证提出要求的来源吗? 01/14 15:03
2F:→ KawasumiMai: 例如如果直接连结php,来源应该是外部或使用者方 01/14 15:04
3F:→ KawasumiMai: 但如果是自己网站的Ajax,来源应该是同网域 01/14 15:05
4F:→ KawasumiMai: 有办法对此做出验证吗? 01/14 15:05
5F:推 onininon: $_SERVER['HTTP_REFERER'] 虽然可以伪造 01/14 15:24
6F:→ KawasumiMai: 补充发问,如果可以伪造,但是毕竟使用PHP传入POST值 01/14 20:52
7F:→ KawasumiMai: 的时候不包含这个资讯,这个变数是PHP自行判定的,那 01/14 20:53
8F:→ KawasumiMai: 麽执行起来不合预期,看不到php code的情况下应该不 01/14 20:53
9F:→ KawasumiMai: 晓得是因为这个判定挡掉的吧?还是有方法知道php多判 01/14 20:54
10F:→ KawasumiMai: 定了这个东西?(应该不可能),这样安全性应该是够的? 01/14 20:54
11F:→ Darkland: 你可能不太清楚浏览器除了 post 以外还传了多少东西? 01/14 22:39
12F:→ LaPass: 打开浏览器的debug工具都看的到,而且都可以改 01/14 23:12
13F:→ mmis1000: 真的要安全就放session吧,client端来的都完全不可信 01/15 03:56
14F:推 KawasumiMai: 痾= =不是不清楚除了Post以外还有多传东西,是想问 01/15 10:09
15F:→ KawasumiMai: 因为这个验证是PHP内的code,在不知道这份code的情况 01/15 10:10
16F:→ KawasumiMai: 不知道PHP有多验证什麽东西,应该不晓得需要伪造的目 01/15 10:11
17F:→ KawasumiMai: 标是什麽? 是说有经验的人可能会知道就是了.... 01/15 10:12
18F:→ MOONRAKER: 他是http protocol规定的 每个人也知道 01/15 10:20
19F:→ MOONRAKER: 不知道的人可以不用搞attack的事情 01/15 10:21
20F:→ gpmm: CSRF/XSRF 攻防战啊,挂 token 多少可以提供一点防御力 :p 01/17 02:49