gpt4 book ai didi

javascript - 如何阻止机器人抓取我基于 AJAX 的 URL?

转载 作者:数据小太阳 更新时间:2023-10-29 05:30:36 24 4
gpt4 key购买 nike

我在我的 ASP.NET MVC 3 网站上有几个页面(这里的技术并不重要),我在这些页面上呈现了 <script> 中的某些 URL。页面上的标记,以便我的 JavaScript(存储在外部文件中)可以对服务器执行 AJAX 调用。

像这样:

<html>
...
<body>
...
<script type="text/javascript">
$(function() {
myapp.paths.someUrl = '/blah/foo'; // not hardcoded in reality, but N/A here
});
</script>
</body>
</html>

现在在服务器端,这些 URL 中的大多数都受到属性的保护,声明:

a) 它们只能通过 AJAX 访问(例如 XmlHttpRequest)

b) 它们只能通过 HTTP POST 访问(因为它返回 JSON - 安全性)

问题是,出于某种原因,机器人正在抓取这些 URL,并尝试对它们执行 HTTP GET,导致 404。

我的印象是机器人不应该尝试抓取 javascript。那么他们是如何获得这些 URL 的呢?

我有什么办法可以阻止他们这样做吗?

我不能真正将这些 URL 变量移动到外部文件,因为正如上面代码中的注释所建议的,我使用服务器代码呈现 URL(必须在实际页面上完成)。

我基本上已经添加了路由到我的网站到 HTTP 410(消失)这些 URL(当它不是 AJAX POST 时)。这真的很烦人,因为它向我已经错综复杂的路由表添加了另一条路由。

有什么提示/建议吗?

最佳答案

通过 robots.txt 中的前缀禁止 URL

关于javascript - 如何阻止机器人抓取我基于 AJAX 的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9864887/

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