I received strange broken link report:
Subject: Broken link on googleads.g.doubleclick.net
Referrer: (url on **my** site!)
Requested URL: /pagead/ads?(...)
User agent: (...)
IP address: (some foreign country)
So I took a look at CommonMiddleware, responsible for sending those reports. It goes like this (Django 1.1 license apply here ;)):
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
Requested URL: %s
User agent: %s
IP address: %s
"
% (referer, request.get_full_path(), ua, ip))
The code is so simple that it s quite obvious that in the email I received Referrer is swapped with host and request URL. I m not sure what it means - if it was some hack trial, some bug in Django or maybe some bug in my code (FYI: Django hasn t been patched and other broken link
emails are correct).
Do you have any idea what could be wrong here?