2012-03-25 2 views

ответ

0

Сервер, на который вы пытаетесь загрузить файл, не позволяет загружать файлы без соответствующего значения XSRF. Это значение предоставляется cookie для каждого пользователя.

Помимо наличия соответствующего файла cookie, вы должны убедиться, что в вашей форме загрузки указано поле для этого значения. Торнадо обеспечивает xsrf_form_html() функцию, которую вы хотите позвонить из вашей формы, например .:

<form action="/upload" method="post"> 
    {{ xsrf_form_html() }} 
    <input type="text" name="foo"/> 
    <input type="submit" value="Upload"/> 
</form> 

Ссылки:
http://en.wikipedia.org/wiki/Cross-site_request_forgery
http://www.tornadoweb.org/documentation/overview.html?highlight=forgery#cross-site-request-forgery-protection

+0

Небольшая заметка: если вы активировали автоэкспонирование, эта функция работает неправильно, потому что в экранированной форме она не влияет на '

'. Чтобы заставить его работать в каждом случае, используйте '{% raw xsrf_form_html()%}' – Paul