【发布时间】:2015-07-15 12:05:08
【问题描述】:
我有一个在用户单击图像时调用的函数。我正在计算这些点击并增加数据库中服务器上的视图。该函数调用一个网络服务来更新数据库中的视图列。
我希望能够在用户与该图像交互并单击它后预测何时以合法方式调用该函数。我知道在客户端模仿点击行为很容易并且无法阻止。我也不想在服务器上跟踪每个 IP 和图像 ID。
有没有什么好的方法可以防止用户篡改该视图增量代码?我没有用户登录选项,用户对网站都是匿名的。
代码示例:
$(document).on("click", ".the-image", function(event){
var imageId = parseInt($(this).attr("image-id"), 10);
// webservice to increment the views of the image +1
$.ajax({
url: CONST_WEBSERVICE_URL,
dataType: "json",
contentType: "application/json; charset=utf-8",
method: "POST",
data: "{'imageId': " + imageId + "}"
});
});
我使用 ASP.NET 4.5 / C# / jQuery 构建了我的网站。
【问题讨论】:
-
我们怎么可能知道您什至没有提供一行代码让我们知道您在做什么以及正在发送什么。你在使用 CSRF 保护吗?当前触发ajax的是什么?问题太广泛了
-
@charlietfl 我用代码更新了问题
-
肯定想要使用 csrf 保护,我可以复制该请求并每秒从另一台服务器发送它
-
@charlietfl 哈哈,你吓到我了,但确实如此。我在看什么是 csrf 保护
-
不是我个人会做的事...只是想那些想要篡改您网站的人的方式
标签: javascript c# jquery asp.net .net