0

我正在用 php 做项目并使用 codeigniter。我必须在其中完成表单验证,我很困惑使用服务器端验证或客户端验证。??

什么对社交网站有好处,无论是服务器端验证还是客户端验证。??

有人知道 facebook 和 twitter 使用什么策略进行验证吗?

4

6 回答 6

4

两者都有,但如果你必须选择一个,服务器端。

客户端验证将使您的表单更易于访问和用户友好。您不会为了让您知道有错误而刷新页面而浪费用户的时间。

客户端技术,主要是 JavaScript,可以被禁用,根本不需要验证。

我总是建议两者。

如果您使用的是 jQuery,这是我(也是很受欢迎)的最爱:http ://bassistance.de/jquery-plugins/jquery-plugin-validation/

CodeIgniter 有它自己的表单验证库,但如果您正在寻找替代方案,请查看PHP jQuery Validation 插件类。它模仿了我刚才提到的 jQuery 插件……仅在 PHP 中。

于 2012-01-02T06:29:35.620 回答
1

无论您是否也使用客户端验证,您都应该始终使用服务器端验证。您从客户端获得的一切都不应该被信任。

于 2012-01-02T06:29:06.673 回答
0

客户端验证仅对良好的用户体验有用。它不能被信任。http请求可以通过常见的浏览器工具轻松修改以绕过所有客户端验证。

服务器端验证是必须的。

于 2012-01-02T06:34:59.657 回答
0

真的取决于你想要验证什么。如果验证需要来自数据库的数据,那么从这个意义上说,您将只能使用“服务器端”验证,或者至少可以使用服务器辅助。

然而,这些并不是精确的术语,如今,验证通常使用 Ajax 完成,它看起来是客户端,即使使用服务器端数据也是如此,这是当前的趋势。

于 2012-01-02T07:08:52.397 回答
0

对于社交网站,您必须将验证分为两部分(即客户端和服务器端),因为社交网站有两个问题,一是用户友好性,二是用户信息的安全性

对于安全和隐私没有问题的事情,您可以使用客户端验证(例如电子邮件 ID 语法或出生日期语法验证)和其他东西(例如检查天气电子邮件 ID 是否真的存在以及其他与密码相关的验证) 应该在服务器端。

关键是任何人都可以编辑客户端脚本并将表单提交到服务器,这是一种不好的做法。

因此,在客户端验证之后,进行(事实上必要的)服务器端验证是一种很好的做法。

于 2012-01-02T07:27:43.280 回答
0

服务器端验证是必须的,因为这是您可以完全控制的。我的意思是你已经准备好从你的身边保护不需要的和非法的数据输入等。客户端也已经由你编写,但它们可以被关闭,因为 javascript 在 IE 中默认是关闭的。因此,它存在输入数据可能根本无法验证的风险。

拥有服务器端验证总是可以捍卫这一点....

因此,服务器端身份验证可以进行调整,例如只有在检测到禁用的 javascript 时才会发挥作用,从而提供 2 路保护!!!

即使我会推荐两者都是必不可少的,实际上服务器端更重要,(如果您能够在 SQL/ACCESS/ORACLE 中使用自动触发器,它们将大大减少您对服务器端脚本的需求)编程快乐!!!:)

于 2012-01-02T07:51:59.300 回答