- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们运行了一个 URL 缩短器,在过去一周左右的时间里,我们开始看到许多来自 Facebook 拥有的 IP 和用户代理 {normal url}/no_facebook_preview_picture.jpg
的奇怪请求>facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)
如果我在我的墙上发布一个指向我们网站的正常链接(设置为 Only Me
这样我就可以测试)我会在我们的访问日志中得到以下条目
66.220.152.6 - - [05/Feb/2013:16:31:36 +0000] "GET /44_U HTTP/1.1" 200 1314 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
但是,如果我发布一个返回 404 或 410 的链接(创建后删除了垃圾邮件链接),我会得到这个
69.171.237.15 - - [05/Feb/2013:16:49:16 +0000] "GET /notexistURL HTTP/1.1" 404 1319 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
然后在一个小时左右
173.252.110.113 - - [05/Feb/2013:17:15:15 +0000] "GET /notexistURL/no_facebook_preview_picture.jpg HTTP/1.1" 404 0 "-" "facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)" "-"
该 IP 报告的 WhoIs
NetName FACEBOOK-INC
NetHandle NET-173-252-64-0-1
所以他们肯定是 Facebook IP。
我们每天收到大约 10-20 个这样的请求,所有请求都是相同的。我们只能取回 7 天的日志文件,但这些请求是在 7 天前发生的。
我已经测试了唯一的链接,因此没有任何其他方法可以找到该链接。我个人使用 Facebook 的次数不多,除了我的测试链接外,其他所有链接都是由其他用户创建/发布的,但我知道链接到我的 Facebook 帐户的所有应用程序都没有异常,所以我认为这不是第 3 方应用程序(如果需要我可以提供一个列表,但它们都是大牌应用程序)
在我检查日志文件时,Facebook 似乎甚至没有智能地创建这些请求,它只是盲目地将字符串 /no_facebook_preview_picture.jpg
粘贴在 URL 的末尾,即使是查询字符串。例如;
69.171.228.114 - - [05/Feb/2013:17:19:13 +0000] "GET /iAmNotARealURL1234777?ref=fb&cows_go=moo HTTP/1.1" 404 1118 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
69.171.228.114 - - [05/Feb/2013:17:19:13 +0000] "GET /iamnotarealurl1234777 HTTP/1.1" 404 1118 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
173.252.103.4 - - [05/Feb/2013:17:44:41 +0000] "GET /iAmNotARealURL1234777?ref=fb&cows_go=moo/no_facebook_preview_picture.jpg HTTP/1.1" 404 1118 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "-"
Google 似乎显示了很多随机结果,大部分来自链接发起者,但我找不到关于这些请求是什么的任何信息。
这些请求是什么? Facebook 需要他们做什么?这是我们应用程序中的错误还是可以安全地忽略这些请求?
更新:
有些日子我们现在对这些 URL 的点击次数达到 2-300 次
[sr@ns309372 nginx]$ for DAYLOG in `find ./ | grep "dftbashort.log-"`; do COUNT=`cat $DAYLOG | grep no_facebook_preview_picture | wc -l`; echo "${DAYLOG} has ${COUNT} occurences"; done
./dftbashort.log-20130201 has 0 occurences
./dftbashort.log-20130130 has 2 occurences
./dftbashort.log-20130129 has 2 occurences
./dftbashort.log-20130128 has 2 occurences
./dftbashort.log-20130202 has 378 occurences
./dftbashort.log-20130207 has 222 occurences
./dftbashort.log-20130205 has 257 occurences
./dftbashort.log-20130209 has 178 occurences
./dftbashort.log-20130131 has 2 occurences
./dftbashort.log-20130203 has 266 occurences
./dftbashort.log-20130206 has 667 occurences
./dftbashort.log-20130204 has 12 occurences
./dftbashort.log-20130127 has 4 occurences
./dftbashort.log-20130208 has 260 occurences
我们不提供任何开放图元标记,页面除了元/javascript 重定向外没有其他内容。
最佳答案
我很确定这是试图构建您的 URL 预览的共享抓取工具,通过 Facebook's Debug Tool 运行 URL你会看到 Facebook 看到/正在寻找什么
我不确定 /notexistURL/no_facebook_preview_picture.jpg
请求是什么,假设您的代码中没有任何内容指向这样的 URL;如果我不得不猜测,我会说这是某种默认或在没有元标记时使用的后备;可能是一个错误 - 我相当有信心,如果你为 Facebook 添加了正确的元标记,它会捕获那些并且不会发出无效请求,还有一个额外的好处是你的 URL 的共享在 Facebook.com 和其他支持的网站上看起来更好相同的标签
关于Facebook 在 404 链接上请求 {url}/no_facebook_preview_picture.jpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14714094/
我们运行了一个 URL 缩短器,在过去一周左右的时间里,我们开始看到许多来自 Facebook 拥有的 IP 和用户代理 {normal url}/no_facebook_preview_pictur
我是一名优秀的程序员,十分优秀!