我有一个在用户单击图像时调用的函数。我正在计算这些点击次数并增加数据库中服务器上的 View 。该函数调用一个 Web 服务来更新数据库中的 View 列。
我希望能够预测在用户与该图像交互并单击它之后何时以合法方式调用该函数。我知道模仿客户端的点击行为很容易并且无法阻止。我也不想在服务器上跟踪每个 IP 和图像 ID。
是否有任何资源不足的好方法可以防止用户篡改该 View 增量代码?我没有为用户提供登录选项,用户对网站都是匿名的。
代码示例:
$(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 构建了我的网站。
最佳答案
尝试跳出框框思考。您可以存储 session 中单击图像的次数并访问服务中的 session 状态。然后您就知道他们是否已经查看过该图像。
[WebMethod (EnableSession=true)]
也许您可以设置插入数据库的行数限制。
关于javascript - 防止用户篡改 View 的增量代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31429920/