gpt4 book ai didi

asp.net - 搜索按我的按钮的机器人...?我可以阻止吗?

转载 作者:行者123 更新时间:2023-12-02 04:29:43 25 4
gpt4 key购买 nike

我有一个网站,其中的内容可以被“喜欢”。为此,不使用任何 api,它是一个自定义的“点赞”按钮,只需增加该内容的“点赞”统计数据。

现在,我在每个页面加载时都有一个浏览次数计数器和一个“赞”按钮。按下“喜欢”按钮后,该页面生命周期内的任何连续“喜欢”都会被禁用。

我遇到了一个问题,我的喜好多于我的观点......理论上这是不可能发生的。此后,我实现了一些 java 代码来取消连线按钮(基本上隐藏元素),并且我还为忽略 java 的机器人添加了一些服务器端代码。

按下服务器端按钮后,我设置一个 session 变量,如果为该页面的该实例设置了此 session 变量,则退出引发的任何连续事件。

当我快速单击返回按钮时,我已经将其减少到最多 2 或 3 个事件被触发。只有在第二/第三次运行有足够的时间来识别 session 变量之后,事件代码才会被忽略。在我的 session 变量技巧之前,您可以快速单击该按钮 10 次,并且在页面最终回发并禁用该按钮之前,它会增加 10 个喜欢。

因此,减少到 2 或 3 个也不错,但我对某些内容的点赞数始终高于观看次数。

  • 我的观点很好,我仔细检查了这一点。
  • 我的喜欢肯定只会在几次不需要的事件触发后捕获第一个禁用/ session 变量触发器/事件...(快速单击)
  • 我怀疑其搜索引擎可能会跟踪链接...?

补充信息:jquery 按钮禁用:

<script type ="text/javascript">
function pageLoad() {
$('#<%=vidUpB.ClientID%>').click(function () {
$(this).css("display","none")
});
}
</script>

有什么想法吗?

最佳答案

当机器人发现对某个网址的 POST 请求时,他们喜欢向那里发送 GET 请求来四处查看。如果他们喜欢所看到的内容,则该链接可以被缓存,并且您可以不时收到该 URL 的其他 GET 请求。讨厌的机器人不会遵循 robots.txt,处理它们的唯一方法是在它们的方式中添加一些不显眼的验证码 - 例如要求类似请求为 POST 请求并检查隐藏的输入字段是否为空。

<asp:TextBox ID="txtKeepEmpty" runat="server" style="display:none" />
<asp:Button runat="server" OnClick="btnLike_Click" Text="Like" />

protected void btnLike_Click(object sender, EventArgs e) {
if (IsPostBack &&
Request.HttpMethod == "POST" &&
string.IsNullOrEmpty(txtKeepEmpty.Text)) {
// update
}
}

session 存储也基于 session key ——即 cookie。每次用户删除 session cookie 时,他都会启动一个新 session 。当他永久禁用 cookie 时(某些用户正在这样做),它将为他发出的每个请求创建新 session 。

关于asp.net - 搜索按我的按钮的机器人...?我可以阻止吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com