วันนี้ฉันเขียนระบบง่าย ๆ โดยใช้ SSH2 และพบปัญหา ระบบของฉันจะต้องลงชื่อเข้าใช้สำเร็จก่อนที่ฉันจะเข้าสู่โฮมเพจ อย่างไรก็ตามฉันป้อนที่อยู่หน้าแรกโดยตรงในเบราว์เซอร์และพบว่าฉันสามารถป้อนได้ นี่ไม่ดีอย่างแน่นอนและไม่มีความปลอดภัยเลย หลังจากตรวจสอบข้อมูลฉันพบว่าฉันต้องเข้าสู่ระบบตัวกรอง ฉันลองและพบว่ามันสามารถหลีกเลี่ยงอันตรายจากการเข้าสู่โฮมเพจโดยไม่ต้องเข้าสู่ระบบด้านล่างเป็นขั้นตอนโดยละเอียดที่ฉันได้รวบรวม:
1. ก่อนอื่นเขียนคลาสตัวกรองสิทธิ์เพื่อใช้อินเตอร์เฟสตัวกรอง
นำเข้า java.io.ioexception; นำเข้า Javax.servlet.filter; นำเข้า Javax.servlet.filterchain; นำเข้า Javax.servlet.filterconfig; นำเข้า Javax.servlet.servletexception; นำเข้า Javax.servlet.servletRequest; javax.servlet.http.httpservletrequest; นำเข้า javax.servlet.http.httpservletResponse; นำเข้า Javax.servlet.http.httpsession; LoginFilter ชั้นเรียนสาธารณะ วิธีการที่สร้างขึ้นอัตโนมัติ stub} @Override โมฆะสาธารณะ dofilter (คำขอ servletrequest, การตอบสนอง servletResponse, ห่วงโซ่ FilterChain) โยน ioexception, servletexception {// รับคำขอ, การตอบสนอง, วัตถุเซสชันที่จะใช้ในรหัส httpservlet httpservletResponse servletResponse = (httpservletResponse) การตอบสนอง; httpsession session = servletrequest.getSession (); // รับ URI ที่ร้องขอโดยเส้นทางสตริงผู้ใช้ = servletRequest.getRequesturi (); //system.out.println(path); // รับข้อมูลหมายเลขงานของพนักงานจากสตริงเซสชัน empid = (สตริง) เซสชัน. getAttribute ("empid"); /*สร้างค่าคงที่คลาส Java ซึ่งบอกว่าหน้าโดยไม่ต้องกรองสำหรับ (int i = 0; i <ค่าคงที่ nofilter_pages.length; i ++) {ถ้า (path.indexof (ค่าคงที่ nofilter_pages [i])> -1) {chain.dofilter กลับ; }}*/ // ไม่จำเป็นต้องมีการกรองสำหรับหน้าเข้าสู่ระบบถ้า (path.indexof ("/ login.jsp")> -1) {chain.dofilter (servletrequest, servletResponse); กลับ; } // คำพิพากษา: หากไม่มีการเรียกคืนข้อมูลพนักงานให้ข้ามไปที่หน้าเข้าสู่ระบบหาก (empid == null || "" .Equals (empid)) {// ข้ามไปที่หน้าเข้าสู่ระบบ } else {// เข้าสู่ระบบดำเนินการตามคำขอนี้ chain.dofilter (คำขอ, การตอบกลับ); }} @Override โมฆะสาธารณะทำลาย () {// วิธีการที่สร้างขึ้นอัตโนมัติ todo stub}}}2. จากนั้นกำหนดค่าไฟล์ JSP ที่ต้องมีการตรวจสอบสิทธิ์การเข้าสู่ระบบใน web.xml:
. หากเป็นไฟล์ JSP เฉพาะ (เช่น A.JSP) คุณต้องเข้าสู่ระบบและตรวจสอบ
<!-กำหนดค่าตัวกรองการเข้าสู่ระบบ-> <filter> <filter-name> เข้าสู่ระบบ </filter-name> <filter-class> com.jingxing.oa.filter.loginfilter </filter-class> </filter>
ข. หากเป็นไดเรกทอรี (เช่น A/ Directory) ไฟล์ในไดเรกทอรีทั้งหมดจะต้องเข้าสู่ระบบและตรวจสอบแล้ว:
<!-กำหนดค่าตัวกรองการเข้าสู่ระบบ-> <filter> <filter-name> เข้าสู่ระบบ </filter-name> <filter-class> com.jingxing.oa.filter.loginfilter </filter-class> </filter>
ข้างต้นคือการล็อกอินการตรวจสอบตัวกรองเว็บ Java เพื่อป้องกันไม่ให้เข้าสู่ระบบจากการป้อนอินเทอร์เฟซที่ฉันแนะนำให้รู้จักกับคุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!