Я использую этот код, вызываемый из функции запроса инициализации basehandler
def init_csrf(self):
"""Issue and handle CSRF token as necessary"""
self.csrf_token = self.request.cookies.get('c')
if not self.csrf_token:
self.csrf_token = str(uuid4())[:8]
self.set_cookie('c', self.csrf_token)
if self.request.method == 'POST' and self.csrf_protect \
and self.csrf_token != self.request.get('_csrf_token'):
raise CsrfException('Missing or invalid CSRF token.')
Я взял его из Пример приложения Facebook на холсте содержит код для обработки crsf. Я практически не тестировал его, но я включил его в свой проект, так как у меня есть приложение Canvas для Facebook, которое работает в FB как iframe. Это позволяет каждому обработчику запроса иметь переменную экземпляра, которую вы можете установить в false, если он генерирует исключение для обычных случаев.
Я еще не проверил его полностью, но у меня есть материал о токенах CRSF для Google App Engine на python. Если вы хотите точно узнать подробности того, как я учусь использовать его в эти дни, вы можете клонировать мой репозиторий .