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

发布于 2025-01-05 11:30:13 字数 481 浏览 0 评论 0原文

例如,我们创建一个表单

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

并创建一个规则(最少 5 个字符):

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]) 

接受它。

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

For example we create a form

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

and we create a rule(min 5. chars):

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

But our user is clever and manipulates our form.

Create and send :

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

And

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

accept this.

How can I best avoid this situation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

短叹 2025-01-12 11:30:14

那么有什么问题吗

if (isset($_POST['k_nip']) && strlen($_POST['k_nip']) >= 5)

So what is wrong with

if (isset($_POST['k_nip']) && strlen($_POST['k_nip']) >= 5)
青朷 2025-01-12 11:30:14

对于聪明的用户,您只需要以老式的方式彻底验证它即可;而不是进行微观优化。

With a clever user, you just have to validate it the oldfashioned way, thoroughly; and not go microoptimising.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文