我正在开发一个项目并尝试使用 javascript 在插入数据库之前验证用户输入的所有输入。
我们可以完全依赖 Javascript 进行用户输入验证吗?
我正在开发一个项目并尝试使用 javascript 在插入数据库之前验证用户输入的所有输入。
我们可以完全依赖 Javascript 进行用户输入验证吗?
不; 你绝对不能。
攻击者可以禁用 Javascript。
攻击者甚至可以发送原始 HTTP 请求,这样 Javascript 就不会首先进入图片。
任何人都可以在不使用浏览器的情况下向您的服务器发出请求,更不用说 javascript。你不能依赖javascript 做任何事情。
现在,在提出这个问题 3 年后,我想添加一个答案。所有答案都假定验证 Javascript 正在客户端上运行(当时可能也是这种情况)。
如今,Javascript 也可以是服务器上使用的语言。在这种情况下,这是完全可以的。攻击者无法禁用该部分。
但是其他答案所解决的要点仍然有效:不能仅允许在客户端进行数据验证。
.