日期:2014-05-17  浏览次数:20571 次

关于非常提交的问题,请各位看看
如下代码:

<form name="form1" method="post" action="ok.php">
<input type="text" name="phone" class="phone" />
<input type="submit" name="okbtn" class="btn" value="" />
<input type="hidden" name="save" value="1" />
</form>

当点击提交按钮的时候,我判断save==1就说明是正常提交可通过,但是如果直接用"ok.php?save=1"也能通过,请问如何才能不让人直接用"ok.php?save=1"来提交????

------解决方案--------------------
<input type="hidden" name="save" value="1" />不要赋初值1
------解决方案--------------------
你用$_POST['save'] 来检测就是了,不过还是有漏洞,可以curl模拟提交。
------解决方案--------------------
1\你是 用 $_REQUEST['save']  这个来接收的?
  这个可以接收 get/post方式的提交,
  用$_POST['save']接收,可以过滤掉在地址栏输入 ok.php?save=1

2\<input type="hidden" name="save" value="1" /> 改成默认为0;



但是只要在浏览器中能进行和获取的数据,都可以模拟,