【发布时间】:2021-03-09 19:04:18
【问题描述】:
是否有一种简单的方法可以检查用户是否绕过了客户端输入验证?将此视为一种安全措施,以禁止所有人试图绕过验证。然而,我在过去几天想出的每一个解决方案(例如,将输入参数存储在对象或数组中)都变得过于复杂和令人困惑。
所以在我疯狂地试图找到一个干净的解决方案之前,我决定寻求一些帮助,因为我对 PHP 还很陌生。 反正这么做也没意义。
【问题讨论】:
-
我永远不会相信要从客户端验证的数据。为了方便用户,我所有的表单都使用 JS/AJAX 进行了一些验证,但提交时所有内容都在 PHP 中进行了完全验证。
-
您也可以创建服务器端验证,任何未能通过服务器端验证的人都可能这样做了,因为他们绕过了客户端验证。但是,如果您基于此禁止人员,这可能会导致不公平的禁止 - 例如,如果您的最终用户使用的浏览器不支持您添加的任何客户端验证(旧浏览器与
required属性示例) -
PS 将客户端验证视为对用户体验的好处;它帮助他们完成所需的输入。然后为您查看服务器端验证,以确保数据是您需要的。后者是最重要的,因为客户端实际上只是 UI。因此,如果您对用户友好,您肯定会先进行服务器端验证,然后再进行客户端验证。
-
从不假设您对客户端计算机上发生的任何事情拥有任何级别的控制权。
标签: php validation security input