В моем фиде, который публикуется на feedburner, у меня есть русские символы в названии кампании в настройках отслеживания Feed: ${feedUri} ${feedName}
. Проблема в том, что в результате получается неверный файл cookie __utmz, установленный Google Analytics, и он не может быть обработан моим сервером (которым является web.py).
File "/home/dw0rm/lib/ve/lib/python2.7/site-packages/web/session.py", line 96, in _load
self.session_id = web.cookies().get(cookie_name)
File "/home/dw0rm/lib/ve/lib/python2.7/site-packages/web/webapi.py", line 359, in cookies
cookie.load(ctx.env.get('HTTP_COOKIE', ''))
File "/usr/local/lib/python2.7/Cookie.py", line 627, in load
self.__ParseString(rawdata)
File "/usr/local/lib/python2.7/Cookie.py", line 660, in __ParseString
self.__set(K, rval, cval)
File "/usr/local/lib/python2.7/Cookie.py", line 580, in __set
M.set(key, real_value, coded_value)
File "/usr/local/lib/python2.7/Cookie.py", line 455, in set
raise CookieError("Illegal key value: %s" % key)
CookieError: Illegal key value: )|utmcmd
Эта ошибка произошла в Firefox, и мне удалось исправить ее с помощью этого кода:
def myinternalerror():
try:
web.cookies()
except CookieError:
if not "cookie_err" in web.input():
web.setcookie("__utmz", None, domain=web.ctx.host)
raise web.seeother(web.changequery(cookie_err=1))
return web.internalerror(render.site.e500())
app.internalerror = myinternalerror
Но сегодня я получил перенаправление cookie_err = 1 даже в Chrome. Я пробовал это на некоторых других сайтах, основанных на web.py и Analytics, и все они вызывают внутреннюю ошибку сервера. И эта ошибка сохраняется до тех пор, пока незаконный файл cookie не будет удален, что является сложной задачей для обычного посетителя.
Я хочу знать, какие еще варианты мне следует рассмотреть. Возможно, модуль Python Cookie неверен, или это ошибка браузера, которая допускает неправильный файл cookie. Этот материал может использоваться в злонамеренных целях, потому что существует множество веб-сайтов Python, которые используют модуль Google Analytics и Cookie.
Это отслеживающий запрос: utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+cafenovru+%28%D0%9E%D0%BF%D0%B8%D1%81%D1%8C+%D1%82%D1%80%D0%B0%D0%BF%D0%B5%D0%B7%D0%BD%D1%8B%D1%85+%D0%92%D0%B5%D0%BB%D0%B8%D0%BA%D0%BE%D0%B3%D0%BE+%D0%9D%D0%BE%D0%B2%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D0%B0%29
Неверное значение файла cookie __utmz: 37098290.1322168259.5.3.utmcsr=feedburner|utmccn=Feed:%20cafenovru%20(Опись%20трапезных%20Великого%20Новгорода)|utmcmd=twitter
Недопустимый файл cookie устанавливается JavaScript в Google Analytics при первом доступе к странице, и при последующих запросах появляется ошибка на стороне сервера.