输入验证的常用做法是什么?换句话说,您是否在客户端,服务器端或双方检查输入验证?另外,如果性能对我来说至关重要,那么客户端输入验证就足以满足我的网站而不会出现任何安全风险?ASP.NET中输入验证的最佳实践?
回答
始终至少执行服务器端验证。如果你想改善用户体验,客户端验证可能会很好。它还允许您避免对服务器的不必要的请求。
只有客户端验证是不够的,可以通过禁用JavaScript例如轻松绕过。
我建议你总是先添加服务器端验证,一旦你测试了它,你可以启用客户端验证。
一般在两侧。客户端可以很容易地被有意或无意地绕过(有无脚本的流行),但出于可用性原因值得考虑。
至于是否存在安全风险。你使用什么用户输入以及你的验证的当前性质是什么?
如果只是检查某人填写了表格中的强制字段,那么可能不会有安全风险。
它需要使用最少的服务器端验证,因为clie端验证可以很容易地绕过。
如果你想有一个用户界面,请使用客户端验证。 这也提高了性能,因为它减少了到服务器的HTTP请求数量,因为无效的表单将不会发送到服务器。
不依赖于客户端验证!!!
这只是为了诚实的用户。不诚实的用户可以很快解决它。
如果我关闭Javascript,我可以锤你的应用程序狗屎。始终把服务器端验证中...它并不难
Web表单
''# VB
If Page.isValid Then
''# submit your data
End If
// C#
if(Page.isValid) {
// submit your data
}
MVC
''# VB
If ModelState.IsValid Then
''# submit your data
End If
// C#
if(ModelState.IsValid) {
// submit your data
}
一旦你的服务器端验证是否正常工作,然后继续前进,并添加客户端验证。它将为用户带来更好的体验
最常见的是同时使用客户端和服务器端验证。
只有客户端输入验证足以让我的网站没有任何安全风险吗?
不,您应该使用服务器端验证。使用(例如)萤火虫删除客户端验证非常简单。很明显,删除客户端验证后,evildoer可以将任何数据发送到服务器。因此,强烈需要服务器端验证。
一两件事,我会使用FluentValidation,xVal和JQuery的一起执行基于相同的规则客户端和服务器端验证建议。
FluentValidation是一个基于规则的框架,用于验证服务器端的.net对象。它为xVal提供了一个规则提供程序,这是另一个允许您连接服务器端和客户端验证框架的框架。它支持在客户端生成JQuery验证器
- 1. 验证输入java的最佳实践
- 2. 最佳实践symfony验证
- 3. 在哪里验证PHP类中的输入 - 最佳实践
- 4. 在Node.js中验证API输入的最佳实践?
- 5. 在Matlab中验证两个相关输入的最佳实践
- 6. 在MATLAB中验证输入时的最佳实践
- 7. WCF实体验证的最佳实践
- 8. mvc输入验证最佳实践问题
- 9. asp.net最佳实践
- 10. ASP.NET MVC中的模型验证有哪些最佳实践?
- 11. Silverlight验证的最佳实践?
- 12. Vaadin验证的最佳实践
- 13. 视图验证的MVC最佳实践?
- 14. 验证Model和ViewModel的最佳实践
- 15. PHP会话验证 - 最佳实践
- 16. Laravel 4:最佳实践来验证
- 17. CDialog和CPropertySheet验证最佳实践?
- 18. 最佳实践 - 验证URL Rails3
- 19. php身份验证最佳实践...?
- 20. 用户身份验证最佳实践
- 21. 参数验证,在Python最佳实践
- 22. 验证模型属性,最佳实践
- 23. Rest Api参数验证最佳实践
- 24. PHP表单验证最佳实践
- 25. Web API身份验证最佳实践
- 26. DDD ASP MVC验证最佳实践
- 27. ASP.NET MVC的最佳实践
- 28. 验证和Asp.net Mvc 2.0的最佳实践?
- 29. ASP.NET MVC - 视图模型验证的最佳实践
- 30. ASP.NET安全身份验证和授权的最佳实践