匿名ユーザー (ログインなし) は、情報を投稿するためのボタンとテキスト フィールドがあるランディング ページに誘導されます。
データの投稿行為と、そのページにたどり着いた人を結びつけたい。つまり、投稿のターゲット URL を知っていても、投稿は許可されないため、非常に短い期間のセッションに関連付ける必要があります。
私はジャンゴを使用しています。
使用する最も簡単な方法または組み込みの方法は何ですか?
セッションストアが構成されている場合は、この情報を匿名ユーザーのセッションに保存できます。セッションを開始するには:
request.session["allow_post_until"] = datetime.datetime.now() + datetime.timedelta(...)
そしてそれをチェックするには:
if not (request.session["allow_post_until"] and request.session["allow_post_until"] < datetime.datetime.now()):
raise PermissionDenied
django 1.4を使用していて、セッションストアを構成したくない場合は、署名付きCookieを使用できます。ユーザーのセッションを有効にする場合は、適切なmax_ageを使用してCookieを設定します。ユーザーが投稿するときは、署名されたCookieを確認し、その有効性を確認してください。設定するには:
response.set_signed_cookie("mysession", "sessiondata", max_age=<session period in seconds>)
チェックする:
request.get_signed_cookie("mysession", max_age=<session period in seconds>)