เซสชันไม่ได้รับการดูแลรักษาระหว่าง https และ http

ในแอปพลิเคชัน JSP/servlet ของฉัน บางหน้าอยู่ใน https และหน้าอื่นๆ เป็น http เท่านั้น หน้าเข้าสู่ระบบอยู่ใน https และฉันสังเกตเห็นว่าเมื่อฉันเข้าสู่ระบบและเปลี่ยนเส้นทางไปยังหน้า http เซสชันนั้นไม่ได้รับการดูแลรักษา ใครสามารถช่วยฉันแก้ไขปัญหานี้ได้บ้าง


person Alex    schedule 25.02.2013    source แหล่งที่มา
comment
ตรวจสอบคำถามนี้ HTTPS เป็น HTTP   -  person Sathesh S    schedule 25.02.2013


คำตอบ (2)


คุณไม่ควรย้ายจาก HTTPS ไปใช้ HTTP เนื่องจากคุณจะสูญเสียการรักษาความลับ

หากคุณยังต้องการดำเนินการนี้ คุณสามารถส่งต่อ Session ID จากการเข้าสู่ระบบ (HTTPS) ไปยังหน้าที่เปลี่ยนเส้นทาง (HTTP) ได้ด้วยตนเอง

ไม่ควรเปิดเผยรหัสเซสชัน SSL (ชื่อแอตทริบิวต์ - javax.servlet.request.ssl_session_id) และด้วยเหตุนี้จึงไม่ส่งต่อไปยัง HTTP

person Vikas V    schedule 25.02.2013

นั่นเป็นเพราะว่า URL เปลี่ยนเส้นทางที่คุณนำทางไปไม่มี jsessionid

ลองสิ่งนี้

response.sendRedirect(response.encodeRedirectURL(contextPath + "/myServlet"));

แต่โปรดระวังเนื่องจากคุณกำลังเปิดเผย sessionid ใน url คุณกำลังเปิดเผย webapp ของคุณสำหรับ Session Fixation Attack

person Sudhakar    schedule 26.02.2013