作者commenbear (commenbear)
看板PHP
标题[请益] 避免user使用firebug等工具窜给html
时间Thu Nov 12 17:35:58 2015
各位好,最近小弟在思考这个问题
有些人会用firebug或是chrome的F12去修改元素,若我想避免user这样操作
有什麽方法可以参考?
以下是我写的简易html跟php
#html
<form action="1.php" method="POST" id="form">
<select name="opt" id="opt">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" name="a" id="a" value="a">
<input type="submit" name="b" id="b" value="b">
</form>
<script type="javascript/text">
$(function(i){
$("#b").hide();
$("#opt").on("change",function(){
var opt = $(this).val();
if (opt==1) {
$("#b").hide();
$("#a").show();
}else{
$("#a").hide();
$("#b").show();
};
});
})
</script>
#1.php
echo $_POST["a"];
echo $_POST["b"];
echo $_POST["opt"];
exit(1);
期望控制php只会印出 a1 或是 b2两种结果
有什麽建议的做法吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.75.166.221
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1447320960.A.A70.html
1F:→ bibo9901: mission impossible 11/12 18:03
2F:推 LPH66: 观念: 不要假设 GET/POST 变数会如何, 就算这些变数是在 11/12 18:06
3F:→ LPH66: 网页里写死的也是一样; 即使不用这种修改工具也是能做出 11/12 18:07
4F:→ LPH66: 不符合你预设条件的输入 11/12 18:07
5F:→ commenbear: 的确是如此@@ 11/12 18:11
6F:推 rockmanalpha: 输入是一定要验证的 要符合你想要的内容标准 11/12 18:30
7F:→ rockmanalpha: 网页显示的 或者用前端来限制输入只是让使用者不会 11/12 18:31
8F:→ rockmanalpha: 错误输入不符的内容 11/12 18:31
9F:推 wilson200106: 原po帅哥 还是乖乖用ajax+token吧 11/12 19:30
10F:推 rickysu: 写网页程式的铁则--不要相信任何 user 传来的资料。 11/13 09:07
11F:→ rickysu: 不要去期望 user 传来的资料都会符合你的预期。 11/13 09:08
12F:→ rickysu: 比较正确的作法应该是自己作个 filter 去筛选资料 11/13 09:09
13F:→ rickysu: 只要收到的资料不是 a1,b2 那就返回错误。 11/13 09:10
14F:→ s0920151048: 不要相信前端传进来的资料 11/14 20:43
15F:→ TobyH4cker: ㄏㄏ 11/16 14:27
16F:→ TobyH4cker: 还有助教跟我说我这是在攻击伺服器 11/16 14:28
17F:→ MOONRAKER: 可以算是啊 HTML injection (?) 11/16 18:12
18F:→ KawasumiMai: 就算都是自己写的,也要假设有人使用非法UI 11/16 23:36
19F:→ KawasumiMai: 所有跟预想值不符的范围都要筛掉,不能吃或引起crash 11/16 23:36
20F:→ see7di: 就算你封掉了这两个工具,可还有其他的,所以别相信任何 12/21 22:55
21F:→ see7di: 来自客户端的内容 12/21 22:55