Ajax -CSRF

Posted 失落的黎明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax -CSRF相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="/login" method="post">
  <!--{% raw xsrf_form_html() %}-->
  <input type="text" name="message"/>
  <input type="submit" value="Post"/>
</form>
    <input type="button" value="Ajax CSRF" onclick="SubmitCsrf();"/>
    <script src="jquery-3.1.1.js"></script>
<script>
    function getCookie(name) {
    var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
    return r ? r[1] : undefined;
}
    function SubmitCsrf() {
        var nid = getCookie(_xsrf);
        $.post({
            url:/csrf,
            data:{k1:v1,_xsrf:nid},
            success:function (callback) {
                console.log(callback);
            }
        })
    }
</script>
</body>
</html>
 1 #!/usr/bin/env python
 2 import tornado.ioloop
 3 import tornado.web
 4 class MainHandler(tornado.web.RequestHandler):
 5     def get(self, *args, **kwargs):
 6         self.render(‘login.html‘)
 7     def post(self, *args, **kwargs):
 8         self.render(‘login.html‘)
 9 class LoginHandler(tornado.web.RequestHandler):
10     def get(self, *args, **kwargs):
11         self.render(‘login.html‘)
12     def post(self, *args, **kwargs):
13         self.render(‘login.html‘)
14 settings = {
15     "xsrf_cookies": True,
16 }
17 application = tornado.web.Application([
18     (r"/", MainHandler),
19     (r"/login", LoginHandler),
20 ], **settings)
21 if __name__ == ‘__main__‘:
22     application.listen(8888)
23     tornado.ioloop.IOLoop.instance().start()

 

以上是关于Ajax -CSRF的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript之Ajax-2 Ajax(使用Ajax发送get请求使用Ajax发送post请求)

Ajax01 什么是ajax获取ajax对象ajax对象的属性和方法

AJAX和JSON—ajax

Ajax&Json —— Ajax

AJAX基础教程

ajax背景ajax对象ajax状态ajax与httpajax请求数据接口同步与异步ajax请求XML数据封装ajax函数artTemplate简介同源策略和跨域请求JSONP