如何使用特定參數過濾請求:例如僅使用「csrf-token」參數名稱過濾請求。過濾器將首先檢查請求是否具有所需的參數名稱,並繞過而沒有所需的參數。僅使用特定參數名稱過濾發佈方法請求
下面是我安裝我的的web.xml文件但問題是如何,所有的請求都過濾:
<filter>
<filter-name>CSRFTest</filter-name>
<filter-class>org.example.CSRFFilter</filter-class>
<init-param>
<param-name>csrf_token</param-name>
<param-value>csrf</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CSRFTest</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CrossSiteScriptStripper</filter-name>
<filter-class>CrossSiteScriptStripperFilter</filter-class>
</filter>
<!-- Apply the CrossSiteScriptStripper filter to all servlets and JSP pages. -->
<filter-mapping>
<filter-name>CrossSiteScriptStripper</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
通過pb2q給出的答案是工作在我測試項目,但我插入我的真實項目時出現錯誤。我想問問是否可以使用2個過濾器?
一種方法可能是在Filter類中,通過執行if/else來省略來自過濾器鏈的所有請求? – kosa
@Jhays您可以根據需要鏈接儘可能多的過濾器,您在實際項目中遇到什麼錯誤? – pb2q