Welcome to A!Die Software Studio |
CSRF是Cross Site Request Forgery的缩写,称其为“跨站请求伪造”。常与XSS想提并论,但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而 CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防 范,所以有时候被认为比XSS更具危险性。Django 给每个form表单加的一个hidden 隐藏域, 发现没有这个csrfmiddlewaretoken 那么表单就提交不了了。
但有时候某些地方时需要跨站提交 POST 请求的,比如 paypal 的 notify_url,这事可以同增加一个 Middleware 来让某个特定的 URL 跳过 CSRF。
然后将这个 Middleware 添加到 Setting.py 中 MIDDLEWARE_CLASSES 的最前面就可以了。