Tornadao—帶XSRF請求

  • 請求體攜帶_xsrf參數


    新建⼀個⻚⾯xsrf.html:
    
    
    <!DOCTYPE html> <html> <head>
     <meta charset="utf-8">
     <title>測試XSRF</title>
    </head> <body>
     <a href="javascript:;" οnclick="xsrfPost()">發送POST請求</a>
     <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js">
    </script>
     <script type="text/javascript">
     //獲取指定Cookie的函數
     function getCookie(name) {
     var r = document.cookie.match("\\b" + name + "=
    ([^;]*)\\b");
     return r ? r[1] : undefined;
     }
     //AJAX發送post請求,表單格式數據
     function xsrfPost() {
     var xsrf = getCookie("_xsrf");
     $.post("/new", "_xsrf="+xsrf+"&key1=value1",
    function(data) {
     alert("OK");
     });
     }
     </script>
    </body>
    </html>

     

  • HTTPX-XSRFToken


    新建⼀個⻚⾯json.html:
    
    <!DOCTYPE html>
    <html> <head>
     <meta charset="utf-8">
     <title>測試XSRF</title>
    </head> <body>
     <a href="javascript:;" οnclick="xsrfPost()">發送POST請求</a>
     <script src="http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js">
    </script>
     <script type="text/javascript">
     //獲取指定Cookie的函數
     function getCookie(name) {
     var r = document.cookie.match("\\b" + name + "=
    ([^;]*)\\b");
     return r ? r[1] : undefined;
     }
     //AJAX發送post請求,json格式數據
     function xsrfPost() {
     var xsrf = getCookie("_xsrf");
     var data = {
     key1:1,
     key1:2
     };
     var json_data = JSON.stringify(data);
     $.ajax({
     url: "/new",
     method: "POST",
     headers: {
     "X-XSRFToken":xsrf,
     },
     data:json_data,
     success:function(data) {
     alert("OK");
     }
     })
     }
     </script>
    </body>
    </html>

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章