2014-01-10 158 views
0

我有一个使用'js-webshims'进行客户端验证的HTML5创建的小型联系表单。这个表单是通过服务器上的php处理的。但是,我没有服务器端验证。只有通过HTML5进行客户端验证。HTML5:我是否需要在客户端和服务器端验证Webform,还是只需要客户端?

我的问题:我只能用HTML5和'js-webshims'填充进行客户端验证,还是我还需要进行服务器端验证?

谢谢。

+0

我忘了提及表单将驻留在安全和封闭的网络/内部网上。我想使用服务器端的valiation仍然很重要? – redshift

+1

当然,你永远不知道谁可能在不同的事情中输入。我知道作为一个系统管理员,我有一堆用户在'安全'环境中输入随机的东西试图获得管理员访问权限。任何形式的安全最大的威胁都是内部威胁。 –

+0

Hai @redshift它的一个很好的问题 –

回答

2

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

尽管这是一个经验法则......如果是客户端,客户端可以在提交之前更改它。

3

总是需要做服务器端验证。

每个人都可以在不使用表单的情况下简单地向服务器发送发送/获取请求。

1

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

+0

感谢无论谁进来或下来都投了票。您正在为社区提供卓越的服务。 /讽刺 – Spechal

+1

看起来downvotes已经全部回滚。 (Stack Exchange很擅长挑选不合理的投票模式) –

0

服务器端验证是绝对必需的。客户端更适合用户的便利功能/改进的用户体验。

0

始终使用服务器端验证。前端验证很容易禁用,并且有人可能在没有您的表单的情况下发送数据来获取应用程序中的错误数据(ajax,curl ....)。

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

1

第一条规则: 永不信任任何数据!

第二: 客户端上的任何事情都可以被简单地欺骗。

第三: 不要相信任何规则,使用这样的表达式absolutley强制性总是从未。 (是的,这是平等的,在同一时间的对立,以第一条规则)

(请你永远跟随在你的生活盲目规则!)

这取决于你需要什么,你想要实现。客户端验证最大限度地减少了真实用户的不良输入,并帮助网站所有者最大限度地减少数据库中的错误数据。但它并不妨碍程序员提交格式错误和/或滥用数据。为了防止SQL注入或类似的攻击,您需要某种服务器端验证。但是,服务器端语法验证并不能阻止用户或程序使用正确的语法提交错误的数据。

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

注:我真的不喜欢我的答案,并赞成Justin E的一个。但所有其他答案都有点偏颇。希望别人能够点击。:-D

相关问题