W moim pliku danych opublikowanym dla Feedburner mam rosyjskie znaki w nazwie kampanii w ustawieniach śledzenia Feed: ${feedUri} ${feedName}
. Problem polega na tym, że jest to nieprawidłowy plik cookie __utmz ustawiany przez Google Analytics i nie może być przetwarzany przez mój backend (który jest web.py). wystąpiłGoogle analytics nielegalne pliki cookie przerywa tworzenie Pythona
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
Ten błąd w Firefoksie, i udało mi się go naprawić z tym kodem:
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
Ale dziś mam ten "cookie_err = 1" przekierować nawet w Chrome. Próbowałem tego w innych witrynach opartych na web.py i Analytics, a wszystkie one powodują wewnętrzny błąd serwera. I ten błąd utrzymuje się do momentu usunięcia nielegalnego pliku cookie, co jest trudne do zrobienia przez zwykłego użytkownika.
Chcę wiedzieć, jakie inne opcje powinienem rozważyć. Może moduł Python Cookie jest niepoprawny lub jest błędem przeglądarki, który dopuszcza nieprawidłowe pliki cookie. Te rzeczy mogą być wykorzystywane do złośliwych celów, ponieważ istnieje wiele stron Pythona, które korzystają z Google Analytics i modułu Cookie.
to zapytanie śledzenia: 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
Nieprawidłowa wartość __utmz Cookie to 37098290.1322168259.5.3.utmcsr=feedburner|utmccn=Feed:%20cafenovru%20(Опись%20трапезных%20Великого%20Новгорода)|utmcmd=twitter
Nielegalne cookie ustawione przez Analytics JavaScript w pierwszym dostępie stron, a na kolejnych żądań pojawia się błąd po stronie serwera.
Problem polega na tym, że ciasteczko jest zepsute (to ciasteczko jest legalne), ale tak naprawdę nie ma rozwiązania innego niż poprawka Cookie. –
Czy należy zatem naprawić moduł Pythona? –
Tak, moduł Cookie musi zostać ulepszony, aby obsługiwać bardziej nowoczesne dokumenty RFC. –