我接到陌生断开的链接报告:中断请求(或Django中的“断开链接”报告)?
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))
的代码是如此简单,这是相当明显的是,在电子邮件,我收到引荐被换与主机和请求URL。我不确定它是什么意思 - 如果它是一些黑客试用版,Django中的一些错误或者我的代码中的一些错误(仅供参考:Django尚未修补,其他broken link
电子邮件都是正确的)。
你知道这里有什么可能是错误的吗?
你是说从你的Django发布的代码是坏了?它看起来不错,我... – 2010-01-12 12:42:45
不,我说的是相反的 - Django代码似乎是完全确定的,但由于某种原因,我收到referrer与主机交换..无论如何,昨天发生了类似的事情第二次,什么是有趣的是,它来自同一个IP。黑客是否有可能交换这些字段,并且与Django无关? – 2010-01-14 22:15:39