IPhone에서 Django로 POST 요청을 보내면 "CSRF 확인에 실패했습니다"라는 메시지가 나타납니다. 나는 인터넷을 통해 좋은 해결책을 찾으려고했지만 나는 할 수 없었다. django에 POST 할 수있는 간단한 방법이 있습니까?iPhone Django에 게시하고 CSRF 확인을 실패했습니다.
NSString *post =[NSString stringWithFormat:@"s=aaa&r=k&c=gg"];
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:(@"http://localhost:8000/messages/views/")]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(data);
을 –
음, CSRF와 아이디어가 토큰 서버를 생성한다는 것이다 너를 위해서. 이것은 토큰 (GET을 통해)을 먼저받지 않고 POST 할 수 없다는 것을 의미합니다. GET없이이 작업을 수행하려는 경우 ... 전체 보호 메커니즘을 쓸모 없게 만들 것이므로 문제가됩니다. 정적 토큰을 만들 수는 있지만 다른 사람이 알아낼 때 문제가 발생할 수 있습니다. 그래서 ... 보호가 필요한지 (또는 더 나은지) 결정할 필요가 있다고 생각합니다. – jro
GET을 통해 토큰을 받으려면 어떻게해야합니까? –