0

我想知道用户是否可以编辑页面上的 javascript。

例如,如果 javascript 中的提交按钮事件处理程序具有如下条件:

if (!txtName.match(/^[\w ]+$/)) {
    alert("Please use only letters, numbers, underscores and spaces in your name.");
    return;
}

我是否还必须验证服务器上的名称,或者我可以相信不正确的名称不能发送到服务器?基本上,用户可以操纵 javascript 来绕过这种检查吗?

如果不是,是否可以使用数据包注入来提交无效名称?我对安全性了解不多,所以我只是对这些问题感到好奇....好的,谢谢!

4

3 回答 3

3

我是否还必须验证服务器上的名称

是的

还是我可以相信不能将不正确的名称发送到服务器?

基本上,用户可以操纵 javascript 来绕过这种检查吗?

被操纵。

关掉。

在验证方面,它只能用于节省用户时间(但避免服务器往返),而不是安全性。

可以使用数据包注入来提交无效名称吗?

是的。

不过,手动构建 HTTP 请求会容易得多。

于 2012-06-09T22:05:46.887 回答
1

您还必须执行服务器端验证。正如您所指出的,有许多方法可以注入信息。一方面,他们可以关闭 Javascript。或者,他们可以拦截和修改网络请求。

客户端应该只用于补充,而不是替代,服务器端验证。

于 2012-06-09T22:04:31.133 回答
0

始终在服务器端进行验证。您永远不应信任发布到您的服务器的数据,这可能会导致严重的安全风险。

于 2012-06-09T22:04:21.853 回答