IsSet(技巧)代替strlen,由用户进行表单操作

时间:2012-02-15 19:37:39

标签: php arrays isset

例如我们创建一个表单

<input class="k_nip_3" name="k_nip" placeholder=""  type="text" value="" />

我们创建一个规则(min 5. chars):

if (IsSet($_POST['k_nip'][4])) // now corect*

但我们的用户很聪明,操纵着我们的形式。

创建并发送:

<input class="k_nip_3" name="k_nip[5]" placeholder=""  type="text" value="aa" />

并且

IsSet($_POST['k_nip'][5]) 

接受这个。

我怎样才能最好地避免这种情况?

2 个答案:

答案 0 :(得分:3)

那么

出了什么问题
if (isset($_POST['k_nip']) && strlen($_POST['k_nip']) >= 5)

答案 1 :(得分:1)

有了聪明的用户,你只需要彻底地用老式的方式验证它;而不是微观优化。