本篇文章给大家带来的内容是关于Django的FBV和CBV的示例讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
CSRF漏洞现状
csrf(cross-site request forgery)跨站请求伪造,也被称为one click attack或者session riding,通常缩写为csrf或xsrf,是一种对网站的恶意利用。尽管听起来像跨站脚本(xss),但它与xss非常不同,xss利用站点内的信任用户,而csrf则通过伪装成受信任用户的请求来利用受信任的网站。与xss攻击相比,csrf攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比xss更具危险性。
csrf是一种依赖web浏览器的、被混淆过的代理人攻击(deputy attack)。
NetShop软件特点介绍: 1、使用ASP.Net(c#)2.0、多层结构开发 2、前台设计不采用任何.NET内置控件读取数据,完全标签化模板处理,加快读取速度3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录5、后台内置强大的功能,整合多家网店系统的功能,加以优化。6、支持三种类型的数据库:Acces
POM依赖
org.springframework.boot spring-boot-starter-freemarker org.springframework.security spring-security-web
配置过滤器
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
/**
* 配置CSRF过滤器
*
* @return {@link org.springframework.boot.web.servlet.FilterRegistrationBean}
*/
@Bean
public FilterRegistrationBean csrfFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean<>();
registration.setFilter(new CsrfFilter(new HttpSessionCsrfTokenRepository()));
registration.addUrlPatterns("/*");
registration.setName("csrfFilter");
return registration;
}
} 在form请求中添加CSRF的隐藏字段
在AJAX请求中添加header头
xhr.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");jQuery的Ajax全局配置
jQuery.ajaxSetup({
"beforeSend": function (request) {
request.setRequestHeader("${_csrf.headerName}", "${_csrf.token}");
}
});









