【问题标题】:Limit access to ajax calls and block crawlers and spiders限制对 ajax 调用的访问并阻止爬虫和蜘蛛
【发布时间】:2011-06-09 15:22:01
【问题描述】:

想知道如何为 ajax 调用编写服务器文件?,

示例:

类车,有2个功能

  1. 回复所有品牌

    return $database->Listall('brands','cardb'); 我用 api.php?mod=list

    调用它
  2. 回复所有品牌车 return $database->Listall('cars','cardb',"WHERE brand=$brand"); 我用 api.php?mod=list&brand=kia 来称呼它

问题是谷歌在其搜索目录中列出了这些 api 链接,+ 用户也可以自己访问这个页面(不是通过 ajax 调用) 那么我该如何阻止呢?

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

    AJAX 只是一种请求返回简化(xml?)内容的页面的方法。

    屏蔽 Google
    在您的 robots.txt 上使用它,并从 ajax 文件夹提供您的 ajax 请求。

    User-agent: *
    Disallow: /ajax-folder/
    

    在 ajax 请求上使用 _POST 并发送“秘密”
    让您的 AJAX 请求随“秘密”变量一起发送,对于没有该变量的请求,只需将它们重定向到另一个页面。

    【讨论】:

      【解决方案2】:
      1. 使用 robots.txt 阻止搜索引擎蜘蛛。一些机器人忽略了这一点,但这是将其从搜索引擎中删除的一种简单方法。
      2. 如果用户可以在浏览器中访问它,他们可以直接访问它。有一些方法可以阻止它,但我怀疑它是否可靠。

      【讨论】:

        【解决方案3】:

        在 robots.txt 中限制 Google 对 api.php 的访问

        【讨论】:

          【解决方案4】:

          在生成 AJAX 调用时只需使用令牌。如果令牌不存在,请不要使用它。

          【讨论】:

          • 你有一个链接来解释如何实现这个吗?我需要它。
          • @MichaelRogers 如果您要阻止爬虫,那么可以通过 robots txt 文件。这将是一个很好的起点 - moz.com/learn/seo/robotstxt 如果您在谈论令牌方法,我真的没有文章。这个问题是一个很好的起点 - stackoverflow.com/questions/22063612/… 添加令牌,然后检查它在 API 端的存在
          猜你喜欢
          • 1970-01-01
          • 2017-09-11
          • 2010-12-03
          • 1970-01-01
          • 2012-04-06
          • 1970-01-01
          • 1970-01-01
          • 2013-11-30
          • 1970-01-01
          相关资源
          最近更新 更多