2011-06-09 82 views
3

限制访问不知道如何为AJAX调用的代码服务器文件,到AJAX调用和块爬虫和蜘蛛

例如:

级轿车,有2个功能

  1. 回复与所有品牌

    return $ database-> Listall('brands','cardb'); 我把它与api.php?MOD =列表

  2. 品牌的所有汽车答复 回报$数据库 - > Listall( '汽车', 'cardb', “WHERE品牌= $品牌”) ; 我把它与api.php?MOD =列表&品牌=起亚

的问题是,谷歌列出在其搜索目录中的这些API链接,+用户还可以在那里自己的访问此页(不通过阿贾克斯呼吁) 所以我怎么能阻止这个?

回答

1

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

阻止谷歌
使用此对您的robots.txt和服务从阿贾克斯文件夹中的Ajax请求。

User-agent: * 
Disallow: /ajax-folder/ 
对Ajax请求

使用_POST并发送一个“秘密”
让你的AJAX请求沿着一个“秘密”变发,并在不具有可变只是他们重新定向到请求另一页。

1
  1. 使用robots.txt来阻止搜索引擎蜘蛛。有些机器人忽略了这一点,但这是一种很容易从搜索引擎中获取的方法。
  2. 如果用户可以在浏览器中访问它,他们可以直接访问它。有一些方法可以阻止它,但我怀疑它是否可靠。
0

Restrinct谷歌的访问api.php robots.txt中

0

简单地生成AJAX调用时使用的令牌。如果令牌不存在,请不要使用它。

+0

你有链接解释如何做到这一点?我需要它。 – 2017-03-07 01:38:22

+0

@MichaelRogers如果您想阻止抓取工具,那么您可以通过robots txt文件来完成工作。这将是一个很好的开始 - https://moz.com/learn/seo/robotstxt如果你正在谈论令牌方法,我并没有真正的文章。这个问题将是开始的好地方 - http://stackoverflow.com/questions/22063612/adding-csrftoken-to-ajax-request添加令牌,然后检查它在API端的存在 – JohnP 2017-03-07 09:33:16