浏览代码

[fix] csrf for open_url_post

version-14
Anand Doshi 9 年前
父节点
当前提交
17f911c6dc
共有 2 个文件被更改,包括 7 次插入1 次删除
  1. +6
    -1
      frappe/auth.py
  2. +1
    -0
      frappe/public/js/legacy/handler.js

+ 6
- 1
frappe/auth.py 查看文件

@@ -61,7 +61,12 @@ class HTTPRequest:
# not via boot
return

if frappe.local.session.data.csrf_token != frappe.get_request_header("X-Frappe-CSRF-Token"):
csrf_token = frappe.get_request_header("X-Frappe-CSRF-Token")
if not csrf_token and "csrf_token" in frappe.local.form_dict:
csrf_token = frappe.local.form_dict.csrf_token
del frappe.local.form_dict["csrf_token"]

if frappe.local.session.data.csrf_token != csrf_token:
frappe.local.flags.disable_traceback = True
frappe.throw(_("Invalid Request"), frappe.CSRFTokenError)



+ 1
- 0
frappe/public/js/legacy/handler.js 查看文件

@@ -86,6 +86,7 @@ function open_url_post(URL, PARAMS, new_window) {
if(new_window){
temp.target = '_blank';
}
PARAMS["csrf_token"] = frappe.csrf_token;
for(var x in PARAMS) {
var opt=document.createElement("textarea");
opt.name=x;


正在加载...
取消
保存