我知道,出于显而易见的原因,在开发Web应用程序时,数据输入验证应始终在服务器端完成。客户端验证主要针对用户体验。 我现在正在开发内部网应用程序,该应用程序仅供受控环境中的员工使用(仅可在我们的网络内部访问,仅供员工使用,仅供我公司的计算机使用等)。在这种情况下,仅使用客户端验证是否安全?
答案 0 :(得分:4)
对我来说,这绝不安全。一个简单的错误,病毒或任何可能导致客户端向服务器提交无效数据的错误。 如果你必须选择,请转到服务器端。
答案 1 :(得分:3)
永远不要因为你可能信任客户而构建有安全漏洞的软件。
您应该注意到您的软件(现在)是针对特定项目的,但您可能会在以后的其他项目中使用它,可能不是完整代码,而是某些模块。在这种情况下,您将不得不重新考虑什么是“好”代码和需要修复的内容。
从零开始编写好的和“安全的”代码将节省您将来的时间并且也会让您头疼。
在全范围上也很难想到,因为您的某些客户端可能已经存在易受攻击的系统。那么,你的系统也会很脆弱。
答案 2 :(得分:2)
除非另有证明,否则所有输入都是邪恶的。这是第一条规则。通常,您忘记此规则的那一刻就是您受到攻击的那一刻。
- Writing Secure Code, Second Edition,Michael Howard和David LeBlanc
答案 3 :(得分:1)
如果您信任您的员工,那么是的,这是安全的。另外,考虑一个邪恶的员工和他能做的最坏的事情。然而,IMO很自然地认为内部公司系统比接触互联网的公司系统更安全。