为什么客户端验证不够?我在这里看到:您可能已经知道,仅依靠客户端验证是一个非常糟糕的主意。始终执行适当的服务器端验证。你能解释为什么服务器端验证是必须的吗?
3 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
编写服务器应用程序有一个简单的规则:永远不要信任用户数据。
您需要始终假设恶意用户以您不想要的方式访问您的服务器(例如,在这种情况下,通过手动查询curl
而不是预期的网页)。例如,如果您的网页试图过滤掉SQL命令,则攻击者已经很好地提示它可能是一个很好的攻击向量来传递带有SQL命令的输入。
暮色呼如
TA贡献1853条经验 获得超9个赞
您正在与之交谈的客户可能不是您认为正在与之交谈的客户,因此可能无视您要求它进行的任何验证。
在网络环境中,用户不仅可能在浏览器中禁用了javascript,而且还有可能根本就没有与浏览器通话 - 您可能正在从机器人那里获取表格提交到你的提交网址,而根本没有看过表格。
在更广泛的背景下,您可能正在处理一个黑客客户端,该客户端正在发送真实客户端永远不会发送的数据(例如,FPS游戏的目标机器人),甚至可能是由反向设计您的线路协议的人创建的完全自定义客户端它对您期望执行的任何验证一无所知。
添加回答
举报
0/150
提交
取消