Django附带了CSRF保护中间件,它可以生成一个独特的每会话令牌,用于表单.它会扫描所有传入的POST请求以获取正确的令牌,并在令牌丢失或无效时拒绝该请求.
我想将AJAX用于一些POST请求,但是所述请求没有CSRF令牌可供选择.页面没有<form>可以挂钩的元素,我宁愿不把标记作为隐藏值插入标记.我认为这样做的一个好方法是公开一个/get-csrf-token/想要返回用户令牌的vew ,依靠浏览器的跨站点脚本规则来防止恶意站点请求它.
这是一个好主意吗?是否有更好的方法来防止CSRF攻击,同时仍允许AJAX请求?