2012-02-08 30 views
10

Trong Servlet máy chủ ứng dụng 3.0 khiếu nại tôi có thể thiết lập các cờ HttpOnly và an toàn cho cookie phiên (JSESSIONID) bằng cách thêm dòng sau vào web.xml:cờ an toàn và HttpOnly cho cookie phiên Websphere 7

<session-config> 
    <cookie-config> 
    <secure>true</secure> 
    <http-only>true</http-only> 
    </cookie-config> 
</session-config> 

Tuy nhiên, ứng dụng tôi đang làm việc trên sẽ được triển khai trong Websphere 7, đó là khiếu nại Servlet 2.5 và nó không thể khởi động nếu tôi thêm ở trên vào web.xml

Có cách nào khác để khai báo hay cài đặt Cấu hình Websphere 7 để bật cờ HttpOnly và an toàn cho cookie phiên?

Nếu không, cách tiếp cận tốt nhất để thực hiện điều đó theo chương trình là gì?

Trả lời

8

Tôi nghĩ trong WebSphere 7, bạn có thể phải nghiên cứu kỹ vào bảng điều khiển quản trị. Hơn bao giờ hết tài liệu WebSphere dường như nghèo nhưng dường như đề nghị thiết lập com.ibm.ws.security.addHttpOnlyAttributeToCookies tài sản:

Cả cờ an toàn và HttpOnly cờ được kích hoạt bằng cách thiết lập máy chủ WebSphere Application tài sản: com.ibm.ws.security.addHttpOnlyAttributeToCookies.

Tôi tìm thấy this, mà tôi hy vọng có thể áp dụng cho WAS7. bạn có thể thử xin vui lòng (Tôi chỉ có WS 8 tại thời điểm trên hệ thống của tôi):

JSESSIONID cookie:

Cờ an toàn:

Cờ an toàn có thể được thiết lập trong giao diện quản trị WebSphere Application Server bằng cách chọn AppServer -> [Tên máy chủ] -> Web Cài đặt vùng chứa-> Quản lý phiên. Chọn hộp kiểm cho “Giới hạn cookie đối với phiên HTTPS”.

HttpOnly Cờ:

Thuộc tính HttpOnly không thể hiện được đặt trên cookie này. Điều này được đăng ký trên trang web của IBM là APAR PK98436. Bản sửa lỗi cho APAR này hiện được nhắm mục tiêu để đưa vào Gói Sửa lỗi 6.1.0.31 và 7.0.0.9, chưa có sẵn. Với APAR này tại chỗ, cờ HTTPOnly có thể được đặt trên cookie JSESSIONID theo tên thuộc tính: com.ibm.ws.webcontainer.httpOnlyCookies. Tham khảo kỹ thuật sau để biết hướng dẫn về cách bật thuộc tính tùy chỉnh WebContainer.

Tài sản com.ibm.ws.webcontainer.httpOnlyCookies được ghi trên trang web trợ giúp của WAS 7.

+0

Cảm ơn bạn đã liên kết. Tuy nhiên, sự hiểu biết của tôi từ nó là JSESSIONID (trong số những người khác) sẽ không bị ảnh hưởng bởi tài sản đó. Đúng? – mmutilva

+0

Bài đăng gốc đã được chỉnh sửa để cụ thể địa chỉ JSESSIONID – planetjones

+0

Cảm ơn bạn. Liên kết thứ hai tôi nghĩ là cụ thể cho Tivoli, phải không? Bạn đã nhận được lá cờ "Cả cờ an toàn và cờ HTTPOnly được kích hoạt bởi ..." trích dẫn từ đâu? – mmutilva

0

Trong WebSphere 7, bạn có thể tìm thấy điều này trong giao diện điều khiển quản lý dưới Servers>WebSphere máy chủ ứng dụng>[Tên máy chủ]>quản lý phiên (dưới "Settings Container")>Enable cookie >Giới hạn cookie thành phiên HTTPS.

3

Để thiết lập cờ an toàn để JSESSIONID cookie (tương tự cho WebSphere 7.x và 8.x):

  • log trong nhật ký trong WebSphere quản trị giao diện điều khiển
  • Navigate to Server> loại Server> máy chủ ứng dụng WebSphere
  • Bấm vào tên máy chủ (mặc định là server1)
  • Bấm vào liên kết Cài đặt web container> Web container
  • Bấm vào liên kết phiên Quản lý
  • Bấm vào liên kết Enable Cookies. bit này một chút litle khó hiểu, bạn phải nhấp chuột vào văn bản không phải trên hộp kiểm
  • chọn tùy chọn (hộp kiểm) Restrict cookie để HTTPS phiên
  • Lưu thay đổi

Để đặt cờ HttpOnly trong WebSphere 8.x thành JSESSIONID cookie

  • log trong nhật ký trong WebSphere admin console
  • Navigate to Server> loại Server> máy chủ ứng dụng WebSphere
  • Bấm vào tên máy chủ (mặc định là server1)
  • Bấm vào liên kết thiết lập Web container> Web container
  • Bấm vào liên kết Quản lý phiên
  • Bấm vào liên kết Enable Cookie. bit này một chút litle khó hiểu, bạn phải nhấp vào văn bản không phải trên hộp kiểm
  • chọn tùy chọn (hộp kiểm) Set phiên cookie để HttpOnly để giúp ngăn ngừa cross-site scripting tấn công
  • Lưu thay đổi

Để đặt cờ HttpOnly trong WebSphere 7.x để JSESSIONID Cookie

  • log trong nhật ký trong WebSphere admin console
  • Navigate to Server> loại Server> máy chủ ứng dụng WebSphere
  • Bấm vào tên máy chủ (mặc định là server1)
  • Nhấp vào liên kết Cài đặt vùng chứa web> Vùng chứa web
  • Nhấp vào liên kết Tuỳ chỉnh Proprties
  • Bấm vào nút New
  • Nhập tên: com.ibm.ws.webcontainer.httpOnlyCookiesgiá trị: * (HttpOnly sẽ được đặt trên tất cả các tập tin cookie không chỉ JSESSIONID)
  • Bấm vào OK nút
  • Lưu thay đổi
Các vấn đề liên quan