小编Bor*_*s-V的帖子

AppDelegate,rootViewController和presentViewController

我正在做Facebook集成教程,如果用户有当前状态的有效令牌,我想显示我的MainViewViewController,否则我想显示LoginViewController.

MainViewAppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if (FBSession.activeSession.state == FBSessionStateCreatedTokenLoaded) {
        // To-do, show logged in view
    } else {
        // No, display the login page.
        [self showLoginView];
    }
    return YES;
}
- (void)showLoginView
{
    UIStoryboard *mainstoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"          bundle:nil];
    LoginViewController* loginViewController = [mainstoryboard      instantiateViewControllerWithIdentifier:@"LoginViewController"];
    [self.window.rootViewController presentViewController:loginViewController animated:YES completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)

控制台错误:

Warning: Attempt to present <LoginViewController: 0xb492fd0> on <MainViewViewController: 0xb1bd820> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)

我不想使用NavigationController.

xcode facebook objective-c ios6 appdelegate

39
推荐指数
2
解决办法
5万
查看次数

Flask:CSRF验证失败

我正在从iOS客户端发送POST请求

-(void)loadFavorite:(NSArray*)favorites{

    //data and url preparation

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"https://example.com" forHTTPHeaderField: @"Referer"];

    [request setValue:[NSString stringWithFormat:@"%tu", [requestData length]] forHTTPHeaderField:@"Content-Length"];
    [request setHTTPBody: requestData];

    if ([Tools isNetWorkConnectionAvailable]) {
        [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
            //response handle
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是回复:

<div id="summary">
  <h1>Forbidden <span>(403)</span></h1>
  <p>CSRF verification failed. Request aborted.</p>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用Flask框架和pythonanywhere进行托管.

当我重新加载python脚本时它工作正常,但几小时/几天后CSRF验证失败错误重新出现.

即使我尝试在app.py中禁用CSRF验证:

app.config['WTF_CSRF_CHECK_DEFAULT'] = False
Run Code Online (Sandbox Code Playgroud)

App.py脚本:

//some import error handlers ...

app = Flask(__name__)
app.config['WTF_CSRF_CHECK_DEFAULT'] …
Run Code Online (Sandbox Code Playgroud)

python csrf flask ios csrf-protection

6
推荐指数
1
解决办法
904
查看次数

标签 统计

appdelegate ×1

csrf ×1

csrf-protection ×1

facebook ×1

flask ×1

ios ×1

ios6 ×1

objective-c ×1

python ×1

xcode ×1