我试图通过关注Cross Site Request Forgery protection 文章在我的服务中使用@csrf_protect
,但这对我不起作用。
这是我的settings
文件
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'corsheaders.middleware.CorsMiddleware',
]
这就是我获取令牌的方式
var csrftoken = Cookies.get('csrftoken');
这就是我使用cookie和标题名称配置$ http提供程序的方式:
$ httpProvider.defaults.xsrfCookieName =' csrftoken';
$ httpProvider.defaults.xsrfHeaderName =' X-CSRFToken';
但是当我调用任何服务时,它会返回403 forbidden
错误。我想知道我错过了什么或做错了什么?
任何形式的帮助都将受到赞赏。