私はTornado 4.2を使用して非常に大きなWebアプリケーションを開発しました。私のアプリケーションのハンドラの1つは、投稿リクエストを通じてユーザのログイン詳細を確認する責任があります。ValueError:安全でないヘッダー値
具体的に、このハンドラで、私は以下のコード使用して、ユーザーとその権限でログインして識別するためにset_secure_cookieで署名クッキーを使用します。別のユーザーに送信するために、私はトルネードのredirectを使用するクッキーを設定した後
self.set_cookie("user", self.get_argument("username"), domain=".my-domain.com", expires_days=None, httpOnly=True)
self.set_secure_cookie("access", str(data['permissions']), expires_days=None, httpOnly=True)
をURL。
ほとんどの場合、問題なく正常に動作します。しかし、一部のユーザーにとって私は以下のエラーを受け取ります。
self.redirect("/"+lang+"/base_fx.html")
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 671, in redirect
self.finish()
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 934, in finish
self.flush(include_footers=True)
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 884, in flush
self.add_header("Set-Cookie", cookie.OutputString(None))
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 339, in add_header
self._headers.add(name, self._convert_header_value(value))
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 369, in
_convert_header_value
raise ValueError("Unsafe header value %r", value)
ValueError: ('Unsafe header value %r', 'access="2|1:0|10:1485161516|6:access|3892:eydvd…<long string>..f0a2f8ad"; httponly; Path=/')
ERROR:tornado.general:Cannot send error response after headers written
誰もが同様の問題を抱えていますか? corresponding source codeを見ると
おかげ@Georg!だから問題は、インストールされたバージョンのソースをチェックしていないのですが、最新のものです。私に正しい方向を指摘してくれてありがとう、私はアップ投票し、この解決策を投稿しました:) – afxentios