当数据通过ajax发布时,是否需要服务器端验证?

当数据通过ajax发布时,是否需要服务器端验证?,ajax,jquery,jquery-validate,validation,Ajax,Jquery,Jquery Validate,Validation,在我的项目中,我通过将表单数据发布到一个php文件来存储表单数据。我在按钮点击上通过ajax发送数据,我在做客户端验证,所以不管怎样,没有javascript我不能做数据库插入,那么我需要服务器端验证吗 当然。客户端运行的环境完全超出了您的控制范围,您应该认为它是敌对的和潜在的妥协。 你的问题还包含一个错误的假设。您会说,“当数据通过ajax发布时”。但是你怎么知道的?当你看到一些数据通过互联网传到你的服务器上时,你完全无法判断这些数据来自哪个软件。这就是你想要发布的方式,但除非你控制网络上的每

在我的项目中,我通过将表单数据发布到一个php文件来存储表单数据。我在按钮点击上通过ajax发送数据,我在做客户端验证,所以不管怎样,没有javascript我不能做数据库插入,那么我需要服务器端验证吗

当然。客户端运行的环境完全超出了您的控制范围,您应该认为它是敌对的和潜在的妥协。


你的问题还包含一个错误的假设。您会说,“当数据通过ajax发布时”。但是你怎么知道的?当你看到一些数据通过互联网传到你的服务器上时,你完全无法判断这些数据来自哪个软件。这就是你想要发布的方式,但除非你控制网络上的每台机器,否则这就是你想要的方式。显然,攻击者(甚至是实验者)不会遵守您的意愿。

但如果javascript被破坏,则无法插入data@AmitParmar:你不能假设计算机和软件所做的事情超出了你的控制范围。有人可以向您的服务器提交他们想要的任何内容。您必须验证服务器中的所有内容,并考虑您控制之外的所有事物可能具有敌意。(SQL注入攻击是最明显的此类攻击。)嗯。。。我现在明白了。。谢谢你的指导,非常有用。