我接到陌生斷開的鏈接報告:中斷請求(或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