【问题标题】:Crawlers visiting my cronjobs?爬虫访问我的 cronjobs?
【发布时间】:2011-02-25 22:36:07
【问题描述】:

我已经建立网站好几年了,主要是用 php。有几个站点有 cronjobs,通常每天运行一次。 cronjobs 运行的 php 文件与传递站点页面的文件一起存储在服务器上。

我知道各种爬虫(合法和非法)会访问我网站的各个页面。现在,如果爬虫访问我的一个 cronjob 文件,这将激活 cronjob,有时会产生不良结果。

我很确定这从未发生过,尽管我对此表示感谢,但我正在努力了解原因。当然,我的任何 cronjob url 都没有任何链接,但我很确定各种爬虫已经访问了其他页面,即使它们从未链接到。

其他开发人员如何解决此问题?在 robots.txt 文件中添加一行?设置 cronjob-relate php 文件的权限?

提前致谢。

【问题讨论】:

    标签: google-crawlers


    【解决方案1】:

    不要将任何 cron 脚本存储在可公开访问的目录中。

    【讨论】:

    • 谢谢,杰夫。后续问题: 1. 我放置 cronjobs 的文件夹的确切权限应该是什么? (我要的是 3 位数字。) 2. 我可以设置 cronjob 脚本文件本身的权限吗?我会将其设置为什么权限? 3. 最后,我可以使用 robots.txt,还是不择手段的爬虫会忽略该文件,甚至更糟地利用它?再次感谢。
    • 好吧,如果您将脚本存储在非公共目录中,那么权限会变得更加随意,但 644 应该没问题。如果您在共享服务器上,您可能希望将其锁定多一点,但这完全取决于脚本的作用。如果您将脚本留在公共目录中(只是不要),那么您可以使用 robots.txt 告诉机器人跳过它,但是正如您已经陈述的那样,一些爬虫不会给老鼠的后端什么robots.txt 文件状态。将文件粘贴到非公共目录中,chmod 为 644 就可以了。
    • 再次感谢杰夫。尽管您的解决方案似乎是最好的,但另一个选择似乎是: if (isset($_SERVER)) {exit();} 对于现有站点,这对我来说可能更容易——将所有这些 cronjobs 移动到一个不同的文件夹可能意味着我必须开始进入代码并修复所有与文件夹相关的部分。
    【解决方案2】:

    连同@Jeff 的精彩回答:

    搜索引擎抓取您的页面的唯一方法是是否有链接到该页面。这可能是您网站上的另一个页面、其他人网站上的页面或您自己的站点地图。

    不管你的 cron 任务永远不能从外部直接访问。

    【讨论】:

    • 谢谢,克里斯。但是,我认为我不同意您的说法:我敢肯定,有时,爬虫和黑客会在我的网站上发现没有从任何地方链接到的页面。
    • @oyvey:“爬虫”和“黑客”是两个完全不同的东西。黑客会尝试已知的管理页面名称来访问您的站点。另一方面,爬虫只是跟随链接。您可能想阅读此链接以了解有关 google(以及大多数搜索引擎的扩展)如何工作的一些信息:googleguide.com/google_works.html
    猜你喜欢
    • 2018-06-06
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多