假设我自己有个 ip,是否可以通过某种手段,让 php gethostbyaddr 返回百度蜘蛛域名,比如 baiduspider-180-76-15-153.crawl.baidu.com

2016-08-09 14:58:14 +08:00
 aaa0009
1932 次点击
所在节点    问与答
8 条回复
msg7086
2016-08-09 15:36:00 +08:00
可以的。
aaa0009
2016-08-09 16:01:46 +08:00
@msg7086 怎么弄?
lazycat
2016-08-09 17:43:16 +08:00
RDNS
ZE3kr
2016-08-09 21:17:10 +08:00
有一个 IP 不一定能随便设置 rdns ,一般的,只有当那个域名解析到了那个 IP 才能设置。就算设置上了,一般 gethost 还会再验证一下域名有没有解析到你这个 IP 才行。
aaa0009
2016-08-09 21:23:36 +08:00
@ZE3kr 谢谢。那这么说,如果我要判定 ip 是否是合法的 robots ,比如 google , baidu 的,只要通过 ip ,得到 googlebot.comcrawl.baidu.com 就可以了吗? Baidu 的文档认为这样就可以了,但是 google 的任务需要再通过 hostname 得到 ip 匹配才可以。
ZE3kr
2016-08-09 21:27:49 +08:00
@aaa0009 dig -x [ip] 查出来的是 IP 对应的域名,和 gethost 一样,但实际上可能是随便设置甚至恶意设置的,所以最好再通过域名正向查询一下解析到的 IP 地址,但这样会增加延迟。一般的做法是:如果从域名解析到的 IP 如果不是那个 IP ,直接屏蔽掉。
msg7086
2016-08-09 21:41:58 +08:00
@aaa0009
如果 IP 是你自己的,你可以自己设置反向 DNS 。
aaa0009
2016-08-10 09:34:38 +08:00
@ZE3kr 哟,如果这样的话,那么百度的 robots 不就是无法验证了?比如百度 180.76.15.159 得到 baiduspider-180-76-15-159.crawl.baidu.com ,但是 baiduspider-180-76-15-159.crawl.baidu.com 却得不到相应 IP 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX