表格邮寄到安全路线禁止

时间:2015-10-11 04:51:26

标签: python google-app-engine

我有一条需要身份验证和授权的路由。目前,我已经使用python中的用户api实现了这一目标。

这是我的HTML表单

<form action="/xxxx/xxxx/Add-Article" id="form-Save-Article" method=post>
        <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
        <div class="form-group">
            <label for="txtArticleTitle">Article Title</label>
            <input type="text" name="ArticleTitle" class="form-control" id="txtArticleTitle" placeholder="Article Title">
        </div>
        <div class="form-group">
            <label for="txtArticleAuthor">Article Author</label>
            <input type="text" name="ArticleAuthor" class="form-control" id="txtArticleAuthor" placeholder="Article Author">
        </div>
        <div class="form-group">
            <label for="txtArticleContent">Article Content</label>
            <input type="text" name="ArticleContent" class="form-control" id="txtArticleContent"
                   placeholder="Article Content">
        </div>
        <button type="submit" name="submit" class="btn btn-primary">
            Add New Article
        </button>
    </form> 

这是处理它的路线。

@admin_articles_routes.route('/xxxx/xxxx/Add-Article', methods=['GET','POST'])
@cross_domain(origin="*")
@authenticate_admin
def add_articles():
    af = ArticleFactory()
    article_title = request.args['ArticleTitle']
    article_author = request.args['ArticleAuthor']
    article_content = request.args['ArticleContent']
    article = af.get_new_article()
    article.title = article_title
    article.author = article_author
    article.content = article_content
    af.add_article(article)
    return redirect('/xxxx/Articles')

当我填写表单并提交时,我收到403状态代码的错误。

enter image description here

即使我删除了cross_domain装饰器,它仍然给我403状态。

我试图从HTML中删除以下行,但我仍然得到403.

 <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />

1 个答案:

答案 0 :(得分:0)

问题归因于same-origin policy

Google Cloud Platform的以下article非常清楚地解释了这一点。

我最终在云存储桶上运行以下命令来解决问题。

gsutil cors set cors-json-file.json gs://example