【发布时间】:2010-01-12 12:31:11
【问题描述】:
我收到了奇怪的链接断开报告:
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 被替换为 host 和 request URL。我不确定这意味着什么 - 如果是一些 hack 试验、Django 中的一些错误或者我的代码中的一些错误(仅供参考:Django 尚未修补,其他 broken link 电子邮件是正确的)。
你知道这里有什么问题吗?
【问题讨论】:
-
您是说您发布的 Django 代码已损坏?对我来说看起来不错...
-
不,我说的是相反的——Django 代码似乎完全没问题,但由于某种原因,我收到了与主机交换的推荐人。无论如何,昨天第二次发生了类似的事情,有什么好笑的是它来自同一个IP。有没有可能是黑客交换了这些字段,和 Django 无关?
标签: django google-ads-api django-middleware