91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring security CSRF防護的示例代碼

發布時間:2020-10-25 19:26:19 來源:腳本之家 閱讀:267 作者:yjclsx 欄目:編程語言

CSRF是指跨站請求偽造(Cross-site request forgery),是web常見的攻擊之一。

從Spring Security 4.0開始,默認情況下會啟用CSRF保護,以防止CSRF攻擊應用程序,Spring Security CSRF會針對PATCH,POST,PUT和DELETE方法進行防護。

我這邊是spring boot項目,在啟用了@EnableWebSecurity注解后,csrf保護就自動生效了。

所以在默認配置下,即便已經登錄了,頁面中發起PATCH,POST,PUT和DELETE請求依然會被拒絕,并返回403,需要在請求接口的時候加入csrfToken才行。

如果你使用了freemarker之類的模板引擎或者jsp,針對表單提交,可以在表單中增加如下隱藏域:

<input type = “hidden” name = “${_csrf.parameterName}” value = “${_csrf.token}” /> 

如果您使用的是JSON,則無法在HTTP參數中提交CSRF令牌。相反,您可以在HTTP頭中提交令牌。一個典型的模式是將CSRF令牌包含在元標記中。下面顯示了一個JSP示例:

<html> 
<head> 
  <meta name = “_csrf” content = “${_csrf.token}” /> 
  <!-- 默認標題名稱是X-CSRF-TOKEN --> 
  <meta name = “_csrf_header” content = “${_csrf.headerName}” /> 
</ head> 

然后,您可以將令牌包含在所有Ajax請求中。如果您使用jQuery,可以使用以下方法完成此操作:

var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
$.ajax({
  url:url,
  type:'POST',
  async:false,
  dataType:'json',  //返回的數據格式:json/xml/html/script/jsonp/text
  beforeSend: function(xhr) {
    xhr.setRequestHeader(header, token); //發送請求前將csrfToken設置到請求頭中
  },
  success:function(data,textStatus,jqXHR){
  }
});

如果你不想啟用CSRF保護,可以在spring security配置中取消csrf,如下:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
  @Override
  protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
        .antMatchers("/login").permitAll()
        .anyRequest().authenticated()
        .and()
        ...
    http.csrf().disable(); //取消csrf防護
  }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保德县| 政和县| 新竹县| 新化县| 东城区| 堆龙德庆县| 建水县| 廊坊市| 江达县| 婺源县| 临汾市| 盐亭县| 静乐县| 那曲县| 兴安盟| 桂平市| 霍林郭勒市| 阳信县| 夏河县| 兰西县| 海门市| 玉山县| 全椒县| 东莞市| 佛冈县| 平顶山市| 克拉玛依市| 德化县| 钟祥市| 即墨市| 宣恩县| 商水县| 沂水县| 海安县| 花莲市| 关岭| 晋宁县| 马鞍山市| 灵台县| 闸北区| 宜宾县|