Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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 HTML5:我是否需要同时使用客户端和服务器端验证webform,或者我可以只使用客户端验证webform?_Php_Html_Webshim - Fatal编程技术网

Php HTML5:我是否需要同时使用客户端和服务器端验证webform,或者我可以只使用客户端验证webform?

Php HTML5:我是否需要同时使用客户端和服务器端验证webform,或者我可以只使用客户端验证webform?,php,html,webshim,Php,Html,Webshim,我用HTML5创建了一个小的联系人表单,并使用“JSWebShims”进行客户端验证。此表单通过服务器上的php进行处理。但是,我没有服务器端验证。仅通过HTML5进行客户端验证 我的问题:我只能用HTML5和“js webshims”polyfill进行客户端验证,还是还需要进行服务器端验证 谢谢。您始终需要进行服务器端验证 每个人都可以在不使用表单的情况下向服务器发出post/get请求 永远不要相信来自任何来源的输入。始终验证服务器端。理想情况下,您需要在服务器端和服务器端进行验证。客户端

我用HTML5创建了一个小的联系人表单,并使用“JSWebShims”进行客户端验证。此表单通过服务器上的php进行处理。但是,我没有服务器端验证。仅通过HTML5进行客户端验证

我的问题:我只能用HTML5和“js webshims”polyfill进行客户端验证,还是还需要进行服务器端验证

谢谢。

您始终需要进行服务器端验证


每个人都可以在不使用表单的情况下向服务器发出post/get请求

永远不要相信来自任何来源的输入。始终验证服务器端。

理想情况下,您需要在服务器端和服务器端进行验证。客户端让用户知道他们提交的内容是否有效,服务器端让您可以在将其放到需要的地方之前对其进行处理


不过,请将此作为经验法则。。。如果是客户端,则客户端可以在提交之前对其进行更改。

服务器端验证是绝对必需的。客户端对用户来说更方便/改进了用户体验。

始终使用服务器端验证。前端验证很容易禁用,有人可以在不使用表单的情况下发送数据,从而在应用程序ajax、curl中获取坏数据

前端验证仅适用于可用性。

第一条规则: 永远不要相信任何数据

第二: 客户端的任何东西都可能被欺骗

第三: 不要相信任何规则,它使用诸如Absolutey、always或never之类的表达式。是的,这是平等的,同时也是对第一条规则的对抗

请永远不要盲目地遵守生活规则

这取决于你需要什么和你想要实现什么。客户端验证将真实用户的错误输入最小化,并帮助站点所有者将其数据库中的错误数据最小化。但这并不能阻止程序提交格式错误和/或滥用数据。为了防止SQL注入或类似攻击,您需要某种服务器端验证。但服务器端语法验证也不能阻止用户或程序使用正确的语法提交错误的数据

因此,如果语法验证是一个安全问题,则需要服务器端验证


注意:我不太喜欢我的答案,所以我把贾斯汀的答案投了更高的票。但所有其他答案都有点偏颇。希望其他人能一针见血-D

我忘了提到表单将驻留在一个安全且封闭的网络/内部网上。我想使用服务器端验证仍然很重要?当然,你永远不知道谁可能在输入不同的东西。作为一名系统管理员,我知道我有一群用户在一个“安全”的环境中输入随机的东西,试图获得管理员访问权限。对任何安全的最大威胁都是内部威胁。Hai@redshift这是一个好问题,这要感谢所有投了赞成票和反对票的人。你为社区提供了很好的服务/讽刺的是,似乎所有的反对票都被撤回了。stackexchange非常擅长挑选不合理的投票模式