Tôi đang cố bảo vệ ứng dụng web của mình khỏi các cuộc tấn công CSRF bằng cách sử dụng trình chặn chặn mã vạch struts.Thiết bị chặn mã thông báo Struts2: Bảo vệ CSRF
Vấn đề tôi đang gặp phải hiện nay là các trang JSP của chúng tôi thực hiện nhiều cuộc gọi đến máy chủ (Trong khi JSP được chuyển thành JS, mã thông báo struts được thêm vào JS.But trong JS này có nhiều yêu cầu Ajax. đang làm cho bản thân mình rõ ràng.), bởi vì interceptor token chỉ yêu cầu đầu tiên đến máy chủ là nhận được xác nhận. Các yêu cầu khác sẽ bị vô hiệu vì mã thông báo struts được đặt lại sau mỗi lần xác thực.
Có cách nào tôi dừng Struts khỏi đặt lại mã thông báo mỗi khi mã xác thực không? IS có bất kỳ giải pháp khác để xử lý điều này trong thanh chống đánh chặn.
Tôi cũng đang xem mô hình tomcatcsrfprotection
, tôi đoán tôi sẽ kết thúc với cùng một vấn đề ở đây.
managepage.jsp
:
<s:token />
<script type="text/javascript">
var strutsToken = "<s:property value="#session['struts.tokens.token']" />";
var requestParams = {mainAction: 'loadGroups','struts.token.name': 'token' , token:strutsToken};
Ext.Ajax.request({
url: 'manageUserAccount.action',
params: Ext.urlEncode(requestParams),
disableCaching: true,
success: this.actionCallback
});
//loading widgets
var requestParams = {mainAction: 'loadusers','struts.token.name': 'token' , token:strutsToken};
Ext.Ajax.request({
url: 'manageUserAccount.action',
params: Ext.urlEncode(requestParams),
disableCaching: true,
success: this.actionCallback
});
</script>
Struts.xml
:
<action name="manageUserAccountEdit" class="ManageUserAccountEditAction">
<interceptor-ref name="csrf-protection" />
<result name="success">/pages/manageUserAccount.jsp</result>
</action>
Tôi vừa thêm mã tối thiểu để hiểu biết nó sẽ được dễ dàng hơn.
Ý của bạn là gì * trang jsp thực hiện nhiều cuộc gọi đến máy chủ *? –
Tôi cần thực hiện nhiều yêu cầu ajax bằng cách sử dụng cùng một mã thông báo trong trang khách hàng. – Mok
Trong khi jsp được chuyển thành js, mã thông báo struts được thêm vào js. Trong js này có nhiều yêu cầu Ajax. Tôi hy vọng tôi làm cho bản thân mình rõ ràng. – Mok