把JSP先行編譯成class檔案進行JSP檔案的保護

來源:互聯網
上載者:User
js|編譯 在Weblogic中發布Web Application工程時,為了保護JSP檔案避免未經授權的訪問和窺視,可以用weblogic.jspc把JSP檔案precompile成為servlet檔案,放到WEB-INF/classes目錄下。基於Servlet的聲明,WEB-INF不作為Web應用的公用文檔樹的一部分。因而,WEB-INF目錄下的資源不是為客戶直接服務的,這樣就可以一定程度上保證JSP的安全。







具體的實現步驟如下(Weblogic for linux):



1、用weblogic.jspc編譯JSP檔案



(1)在Linux下的工作目錄下,建立如下的shell檔案,檔案名稱為jspc.sh



#!/bin/sh



JAVA_HOME=/opt/IBMJava2-131



WBL_LIB=/u11/bea/wlserver6.1/lib/weblogic.jar



CLASSPATH=${JAVA_HOME}/lib:.:${WBL_LIB}



TARGET_DIR=../mofa/WEB-INF/classes # 這是JSP編譯後的servlet檔案的存放目錄



WEBAPP_DIR=../mofa # 這是你要發布的Web Application的目錄



${JAVA_HOME}/bin/java -classpath ${CLASSPATH} weblogic.jspc -k -g -compileAll -d ${TARGET_DIR} -webapp ${WEBAPP_DIR}







在上面藍色字型的部分是要根據使用者自己的配置進行修改。







(2)設定jspc.sh檔案的可執行屬性



# chmod +x jspc.sh







(3)在目前的目錄下,執行jspc.sh檔案,進行JSP檔案的編譯,編譯後class檔案,應該在WEB-INF/classes/jsp_servlet目錄下。







2、便已成功後,從Web Application的目錄中把所有的JSP移走或刪除。







3、編輯weblogic.xml檔案,把jsp-descriptor標籤內的內容清空,加入如下的內容:



<jsp-descriptor>



<jsp-param>



<param-name>precompile</param-name>



<param-value>false</param-value>



</jsp-param>



<jsp-param>



<param-name>pageCheckSeconds</param-name>



<param-value>-1</param-value>



</jsp-param>



</jsp-descriptor>







4、編輯web.xml檔案,在其中添加如下內容:



<servlet>



<servlet-name>JSPClassServlet</servlet-name>



<servlet-class>weblogic.servlet.JSPClassServlet</servlet-class>



</servlet>



<servlet-mapping>



<servlet-name>JSPClassServlet</servlet-name>



<url-pattern>*.jsp</url-pattern>



</servlet-mapping>







5、在Weblogic上發布這個Web Application。







6、訪問相應的JSP檔案,如果能夠訪問成功,說明整個過程沒有問題








相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.