请求损坏(或Django中的“断开链接”报告)?

时间:2010-01-12 12:31:12

标签: django google-adwords django-middleware

我收到了奇怪的断链报告:

Subject: Broken link on googleads.g.doubleclick.net

Referrer: (url on **my** site!)
Requested URL: /pagead/ads?(...)
User agent: (...)
IP address: (some foreign country) 

所以我看了一下CommonMiddleware,负责发送这些报告。 它是这样的(Django 1.1 license适用于此处;)):

    if response.status_code == 404:
        if settings.SEND_BROKEN_LINK_EMAILS:
            # If the referrer was from an internal link or a non-search-engine site,
            # send a note to the managers.
            domain = request.get_host()
            referer = request.META.get('HTTP_REFERER', None)
            is_internal = _is_internal_request(domain, referer)
            path = request.get_full_path()
            if referer and not _is_ignorable_404(path) and (is_internal or '?' not in referer):
                ua = request.META.get('HTTP_USER_AGENT', '<none>')
                ip = request.META.get('REMOTE_ADDR', '<none>')
                mail_managers("Broken %slink on %s" % ((is_internal and 'INTERNAL ' or ''), domain),
                    "Referrer: %s\nRequested URL: %s\nUser agent: %s\nIP address: %s\n" \
                              % (referer, request.get_full_path(), ua, ip))

代码非常简单,很明显,我收到的 Referrer 电子邮件与主机请求网址交换。我不确定这意味着什么 - 如果是一些黑客审判,Django中的一些错误或者我的代码中的一些错误(仅供参考:Django没有被修补,其他broken link电子邮件是正确的。)

你知道这里有什么不对吗?

1 个答案:

答案 0 :(得分:0)

它没有交换。引荐来源是您的网站,因为您的网站上有点击,例如http://www.reddit.com/domain/googleads.g.doubleclick.net

报告中的一切都很好,也许你只是感到困惑,因为它试图点击的网址看起来像一个外部域。这里有一些关于这个主题的线索,实际上你并不是唯一一个被这些链接击中的人(google“googleads.g.doubleclick.net”得到了超过半分的结果,大多数网站都有奇怪的错误)

如果我错了,可以在网址上提供更多细节,但我认为这里的一切都很好。

http://www.google.com/support/googleanalytics/bin/answer.py?hlrm=pl&answer=55581 http://www.google.com/support/forum/p/Google+Analytics/thread?tid=200cb2d4021f93ce&hl=en