由于您可以在Chrome中修改Javascript文件并按F12(开发人员选项卡),任何人都可以在那里修改Javascript并更改我的网站的行为,从而改变它与服务器的交互方式吗?
我要问的原因是我想决定是否在服务器端或客户端放置一段代码进行验证(例如检查电子邮件)。
答案 0 :(得分:5)
是的,任何人都可以更改您网站的Javascript和HTML,以便向您的服务器提交任何内容。您甚至可以更改POST / GET请求(例如,此插件可供Firefox用户使用:https://addons.mozilla.org/en-us/firefox/addon/tamper-data/)。
始终对任何输入进行服务器端验证。
答案 1 :(得分:4)
您永远不能依赖客户端处理是安全的。有很多方法可以改变或绕过客户端javascript。如果验证失败,客户端验证很容易为用户提供快速响应,但应始终通过服务器端验证进行备份。
答案 2 :(得分:2)
您应该使用双重验证:
为了商业起见,您应仅依赖服务器端来确定给定输入是否有效。
答案 3 :(得分:1)
一个精明的人可以在他们的浏览器中修改javascript,但这只会影响他们的浏览器。
所以是的,有人可以禁用在JS中实现的验证机制,这就是你需要在服务器上验证的原因。
答案 4 :(得分:1)
任何人都可以在客户端修改代码,但只有拥有FTP或其他东西权限的用户才能在服务器端修改它们。
您应该始终在服务器端进行验证。如果你想要(例如让服务器负载更小)你可以进行客户端验证,但它不,因为用户可以轻松禁用JavaScript。