我可以依靠每个浏览器只发送来自发布表单的POST数据,还是有一些浏览器发送附加数据?
我问的原因是,我有一个很多字段的表单,可能只是数字。所以最简单的验证就是运行一个函数来检查每个字段是否是数字。
我在我的机器上的浏览器只发送表单中的字段,所以我希望这适用于其他浏览器。
我可以依靠每个浏览器只发送来自发布表单的POST数据,还是有一些浏览器发送附加数据?
我问的原因是,我有一个很多字段的表单,可能只是数字。所以最简单的验证就是运行一个函数来检查每个字段是否是数字。
我在我的机器上的浏览器只发送表单中的字段,所以我希望这适用于其他浏览器。
我可以依靠每个浏览器只发送POST数据从他们发布的形式,还是有一些浏览器发送额外的数据?
不,完全没有。浏览器通常如果用户不特定,则不发送其他POST数据,但这不是信任POST数据的理由。
我问的原因是,我有一个很多领域的表格,可能只是数字。所以最简单的验证就是运行一个函数来检查每个字段是否是数字。
我不会这么做。你可以创建一个预定义的$_POST
索引数组来检查并运行foreach。请勿直接在POST值上使用foreach
。
我在我的机器上的浏览器只发送表单中的字段,所以我希望这适用于所有其他浏览器。
通常情况下,POST请求不仅可以通过提交表单来完成。因此,任何POST数据应始终进行验证,并忽略未请求的数据。
您认为只能通过浏览器发出发布请求,并且用户不能篡改其浏览器中的表单字段。 – sevenseacat
总有可能会有一个smartass或blackhat的家伙,会试图搞砸你。不要懒惰用户的数据。 –
那么万一他们这样做,验证将失败,并且什么都不会发生? – jah