【问题标题】:How to check if client-side input validation was bypassed in PHP? [closed]如何检查 PHP 中是否绕过了客户端输入验证? [关闭]
【发布时间】:2021-03-09 19:04:18
【问题描述】:

是否有一种简单的方法可以检查用户是否绕过了客户端输入验证?将此视为一种安全措施,以禁止所有人试图绕过验证。然而,我在过去几天想出的每一个解决方案(例如,将输入参数存储在对象或数组中)都变得过于复杂和令人困惑。

所以在我疯狂地试图找到一个干净的解决方案之前,我决定寻求一些帮助,因为我对 PHP 还很陌生。 反正这么做也没意义。

【问题讨论】:

  • 我永远不会相信要从客户端验证的数据。为了方便用户,我所有的表单都使用 JS/AJAX 进行了一些验证,但提交时所有内容都在 PHP 中进行了完全验证。
  • 您也可以创建服务器端验证,任何未能通过服务器端验证的人都可能这样做了,因为他们绕过了客户端验证。但是,如果您基于此禁止人员,这可能会导致不公平的禁止 - 例如,如果您的最终用户使用的浏览器不支持您添加的任何客户端验证(旧浏览器与 required 属性示例)
  • PS 将客户端验证视为对用户体验的好处;它帮助他们完成所需的输入。然后为您查看服务器端验证,以确保数据是您需要的。后者是最重要的,因为客户端实际上只是 UI。因此,如果您对用户友好,您肯定会先进行服务器端验证,然后再进行客户端验证。
  • 从不假设您对客户端计算机上发生的任何事情拥有任何级别的控制权。

标签: php validation security input


【解决方案1】:

正如其他人所说,在 JS 和 PHP 中进行验证。我所有的表格都有。这是唯一的出路。

【讨论】:

    【解决方案2】:

    Security preventing csrf in php 帮助您(相对地)确保您发送表单的客户是唯一的客户

    然后,当您发现一些在服务器端验证期间不应发生的错误时,您会记录用户 ID 以进行进一步操作。

    【讨论】:

      猜你喜欢
      • 2011-10-24
      • 1970-01-01
      • 2011-11-06
      • 1970-01-01
      • 2014-02-01
      • 2016-02-15
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      相关资源
      最近更新 更多