Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP——服务器端验证——这是一种好方法吗?_Php_Jquery_Security - Fatal编程技术网

PHP——服务器端验证——这是一种好方法吗?

PHP——服务器端验证——这是一种好方法吗?,php,jquery,security,Php,Jquery,Security,通过jQuery的帮助,我已经完成了广泛的客户端验证。现在来看服务器端验证,如果我发现一些字段无效,我可以简单地向客户端返回一个错误,而不返回任何有用的消息吗 我的假设是,用户必须启用JavaScript才能访问我的网页。如果web浏览器禁用JavaScript,用户将看不到表单。我可以简单地使用noscript来实现这一点。如果他们通过我设计的表单提交信息,那么应该不会向服务器提交无效字段。所以,若我在服务器端发现任何无效字段,那个么我的表单就会被一些黑客而不是普通用户破坏 我的理解对你有意义

通过jQuery的帮助,我已经完成了广泛的客户端验证。现在来看服务器端验证,如果我发现一些字段无效,我可以简单地向客户端返回一个错误,而不返回任何有用的消息吗

我的假设是,用户必须启用JavaScript才能访问我的网页。如果web浏览器禁用JavaScript,用户将看不到表单。我可以简单地使用noscript来实现这一点。如果他们通过我设计的表单提交信息,那么应该不会向服务器提交无效字段。所以,若我在服务器端发现任何无效字段,那个么我的表单就会被一些黑客而不是普通用户破坏

我的理解对你有意义吗

<以下消息是根据许多专家的评论添加的> 很抱歉,我没有在这里清楚地提到我的问题。我总是做服务器端验证b/c我不应该信任任何用户输入

然而,我的观点是,我是否应该将服务器端错误消息传递给用户。因为,如果用户使用我的表单并将表单提交给服务器PHP,就永远不会有无效字段。如果发生这种情况,那么我假设有黑客在玩我的PHP。所以我想忽略它们

我试图避免将服务器端错误消息传递回客户端的主要原因是我没有找到更好的解决方案。我在这里发布了几个相关的问题,没有好的建议或例子

<---结束-->


谢谢

客户端验证仅适用于实际使用您网站的用户。垃圾邮件机器人等可以很容易地忽略它,所以应该始终在服务器站点进行验证。当发生验证错误时,应向用户发送一条消息,告知错误所在


永远不要只使用客户端验证。它只能是一个额外的

客户端验证仅适用于实际使用您的站点的用户。垃圾邮件机器人等可以很容易地忽略它,所以应该始终在服务器站点进行验证。当发生验证错误时,应向用户发送一条消息,告知错误所在


永远不要只使用客户端验证。它只能是一个额外的

服务器验证对于每个web应用程序来说都是绝对必需的,因为发送假标题非常容易。例如,javascript不允许在表单中输入字母,但我可以简单地发送包含字母、数字等的假标题。

服务器验证对于每个web应用程序都是绝对必需的,因为发送假标题非常容易。例如,javascript不允许在表单中输入字母,但我可以简单地发送包含字母、数字等的假标题。

我总是返回有用的错误消息。您可能需要一种方法让服务器报告其他错误情况(数据库错误等)。

我总是向您发送有用的错误消息。您可能需要一种方法让服务器报告其他错误情况(数据库错误等)。

在您的情况下,您可以相当肯定有效用户不会遇到PHP验证错误。因此,您可以使用slacker错误消息进行响应。不过,你真的应该给出一些像样的指示,说明出了什么问题。如果不这样做,总有一天当javascript由于某种原因失败时(比如您更改了它,测试不够好),您会后悔的。

在您的情况下,您可以相当肯定有效用户不会遇到PHP验证错误。因此,您可以使用slacker错误消息进行响应。不过,你真的应该给出一些像样的指示,说明出了什么问题。如果不这样做,总有一天当javascript由于某种原因失败时(比如您更改了它并且测试不够好),您会后悔的。

您应该始终进行服务器端验证

我建议您看看:

客户端验证总是一个好主意,你应该去做,但是服务器端验证应该是一个必须的好的编码实践。

你应该总是有服务器端验证

我建议您看看:


客户端验证始终是一个好主意,您应该去做,但服务器端验证应该是一个必须且良好的编码实践。

对客户端上的任何内容进行验证只会帮助您的用户发现错误,例如“哦,您没有给我们姓氏,请填写”。像我这样的人可以简单地向您的服务器发送任何我想要的请求,能够处理它,或者准备好处理可能损坏的数据库和您客户信用卡号的CD Rom


让服务器回复表单取决于您的代码结构——例如,如果是ajax或其他什么。但是报告问题总是很好的。

对客户端上的任何内容进行验证只会帮助您的用户发现错误,例如“哦,您没有给我们姓氏,请填写”。像我这样的人可以简单地向您的服务器发送任何我想要的请求,能够处理它,或者准备好处理可能损坏的数据库和您客户信用卡号的CD Rom


让服务器回复表单取决于您的代码结构——例如,如果是ajax或其他什么。但是报告问题总是很好的。

我不认为OP试图避免服务器端验证,只是发送了一条有用的错误消息。你好,mcrumley,似乎你是唯一理解我最初问题的人。谢谢,我不认为OP试图避免服务器端验证,只是发送了一条有用的错误消息。你好,mcrumley,似乎你是唯一理解我最初问题的人。谢谢我没有给你-1,