![]() |
1
1
在不太具体的情况下,我认为应该基于以下原因进行验证:
提前让用户知道某些数据不正确是很友好的——例如,电子邮件输入字段可能有红色背景,直到
另外,让用户知道所提供的信息在某种程度上可能不正确也会有所帮助。例如,询问用户他或她是否真的打算让同一个收件人在同一封电子邮件中接受两次。 然后,接下来应该是在服务器端进行检查——不要假设通过的数据是格式良好的。执行检查以确保数据正确,并注意任何攻击。 假设客户机将阻止SQL注入,并且盲目地接受来自服务器连接的数据可能是一个严重的漏洞。如前所述,如果服务器过于信任,恶意客户机的唯一目的是攻击系统,则很容易危害系统。 最后,执行任何检查以查看数据是否正确,并且逻辑可以正确处理数据。如果有任何问题,请通知用户任何问题。 我想从我的角度来看,友好和防御性才是关键。 |
![]() |
2
1
只有一条规则在使用 至少 某种类型的 服务器验证 总是(列表中的数字3/4)。 客户端验证 (数字2/1)使用户体验更为迅速,并减少了负载(因为您不向服务器发布那些不通过客户端验证的内容)。 需要指出的一件重要的事情是,如果只进行客户端验证,那么您将面临很大的风险(想象一下,如果您的客户端验证依赖于javascript,并且用户在浏览器上禁用了javascript)。 |
![]() |
3
0
服务器端肯定有验证。我认为应该尽早在服务器端进行验证,这样恶意(或不正确)数据进入系统的可能性就小了。 客户端的输入验证很有帮助,因为它使接口更为快捷,但是不能保证进入服务器的数据已经通过了客户端验证,所以必须在服务器端进行验证。 |
![]() |
4
0
由于安全性,方便:服务器端和尽早 但同样重要的是要进行一些全局模型/业务逻辑验证,因此,当您有多个具有公共数据的表单(例如产品名称)时,验证规则应该保持一致,除非需求另有说明。 |
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 7 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |