【发布时间】:2018-07-28 12:18:13
【问题描述】:
我正在使用 Jekyll 构建一个具有硬编码表单的 静态页面,我正在将表单数据发送到 Django 服务器,但无法生成 CSRF token。我可以将数据保存到数据库的唯一方法是使用静态 csrf 令牌,该令牌既笨拙又毫无意义。
有没有更好的方法可以做到这一点?
这就是我想要的:
<form method="POST" action="http://djangoserver" >
{% csrf_token %} <!-- Doesn't work in Jekyll -->
<input type="text" name="name" required id="id_name" maxlength="100>
</form>
但显然 Jekyll 不知道该令牌是什么,并且 POST 也不会将其发送到 Django 服务器。
这可行,但它很容易受到攻击和hacky,我需要每次实际生成唯一令牌的相同效果。
<form method="POST" action="http://djangoserver" >
<input type="hidden" name="csrfmiddlewaretoken" value=" some long stuff" >
<input type="text" name="name" required id="id_name" maxlength="100>
</form>
【问题讨论】: