【问题标题】:PHP and Javascript Input Field ValidationPHP 和 Javascript 输入字段验证
【发布时间】:2014-03-08 00:13:25
【问题描述】:

我有一个 LAMP 环境。

想象以下场景:

<form method="post" name="" id="" onsubmit="javascriptValidateFormUserInputs()">
...
</form>

正如名称中所说的 javascriptValidateFormUserInputs(),验证用户所做的输入。如果它们正常,则返回 true,否则返回 false。

如果我将 html 客户端操作到 onsubmit="true",则不会进行验证,并且会将用户无效数据发送到数据库。

我当然想防止这种情况发生。

怎么办?

谢谢

【问题讨论】:

  • 你必须通过php脚本进行验证

标签: javascript php validation lamp


【解决方案1】:

如果您使用的是 php,那么服务器端验证总是更好,因为客户端验证可以被篡改。

所以你只需要检查$_POST("variable") 是否已经过验证,否则返回错误。

你可以按照这个例子 - PHP Form Validation

【讨论】:

  • 所以我必须将我的 javascript 验证更改为 php 脚本?
  • 您可以保留您的 javascript 验证,但最重要的是添加 php 验证。
  • 所以我需要在 javascriptValidation 返回 true 时设置一个 php 变量?抱歉,这是我的第一个网站
  • 我添加了一个示例,您可以在我的回答中遵循。您可以使用任何其他示例 - 那里有很多。
【解决方案2】:

您永远不应该依赖客户端验证:用户可以禁用 javascript,甚至可以对您的服务器(在浏览器之外)执行任何 HTTP 请求。

无论如何,您都需要进行服务器端验证。

客户端验证仅应被视为对基本服务器端验证的用户友好改进。

【讨论】:

    【解决方案3】:
    1. 永远不要相信通过(Javascript 或 jquery)进行的客户端验证,只需在浏览器中关闭 Javascript 即可轻松绕过它们。

    2. 始终、始终、始终执行并使用服务器端验证(是的,这会在服务器上增加一点负载,但您仍然必须使用它)

    【讨论】:

      猜你喜欢
      • 2011-04-25
      • 2017-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-13
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多