知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 網(wǎng)站建設(shè) >
關(guān)于WEB開(kāi)發(fā)-jsp的安全性
發(fā)表時(shí)間:2010-3-18
發(fā)布人:葵宇科技
瀏覽次數(shù):51
雖然做了大半年的web開(kāi)發(fā)了,但一直浮于表面,東西會(huì)做,但很多原理不通,要想成為技術(shù)牛人光會(huì)做是遠(yuǎn)遠(yuǎn)不行的,因?yàn)榧词箷?huì)做但不會(huì)講且不能舉一反三,哎,想當(dāng)年高中數(shù)學(xué)之所以這么好就是因?yàn)楦咧袛?shù)學(xué)原理我都一清二楚,舉一反三,興手捻來(lái),反而到了現(xiàn)在有點(diǎn)急功近利,急于求成,我這不是倒退了么?我甘心做一個(gè)下平庸的人么,答案顯然不是,所以從今天起我要做研究生階段所沒(méi)有做過(guò)的研究,從web開(kāi)發(fā)做起,養(yǎng)成研究的習(xí)慣,養(yǎng)成動(dòng)腦的習(xí)慣,崛起吧。。呵呵,遙想了一下當(dāng)年,哎,往事知多少啊,開(kāi)始正題啦!
今天就先寫(xiě)一個(gè)WEB開(kāi)發(fā)的小心得吧。
在我做的SSH項(xiàng)目,有大量的jsp頁(yè)面,在開(kāi)始做項(xiàng)目的時(shí)候,我就只會(huì)機(jī)械的學(xué)別人在struts里面配頁(yè)面之間的跳轉(zhuǎn)路徑,雖然后來(lái)知道了struts的原理,了解了跳轉(zhuǎn)的過(guò)程,但是真正自己要用到非struts環(huán)境底下的頁(yè)面跳轉(zhuǎn)的時(shí)候發(fā)現(xiàn)經(jīng)常跳轉(zhuǎn)報(bào)錯(cuò),無(wú)論我是用相對(duì)路徑還是絕對(duì)路徑都報(bào)錯(cuò),這就搞的我很郁悶了,這究竟是為什么呢?
原來(lái)這是JSP的安全性作的鬼。
在J2EE中其主要安全性就體現(xiàn)在web工作目錄的WEB-INF文件夾下.如果將一個(gè)頁(yè)面保存在WEB-INF文件下 ,那么該頁(yè)面則不能被用戶(hù)訪(fǎng)問(wèn),就好比小偷都看不見(jiàn)我有什么,他還能知道要偷什么嗎.. 因此如果將一個(gè)頁(yè)面放在WEB-INF文件夾下,那么該頁(yè)面的安全性將得到提高... 但有時(shí)候當(dāng)我們需要訪(fǎng)問(wèn)該頁(yè)面時(shí),卻無(wú)法訪(fǎng)問(wèn),如何能夠訪(fǎng)問(wèn)WEB-INF文件夾下的頁(yè)面呢?
struts為此提供了很便捷的跳轉(zhuǎn)環(huán)境。在struts中每一個(gè)跳轉(zhuǎn)都是通過(guò)一個(gè)action來(lái)處理的,action處理完了之后在forward到相對(duì)地址就行,這個(gè)很簡(jiǎn)單。
但是問(wèn)題是如果我不通過(guò)action來(lái)處理跳轉(zhuǎn),我想直接從web-inf的a.jsp頁(yè)面跳到b.jsp頁(yè)面怎么辦呢?通常這個(gè)時(shí)候我們會(huì)試下相對(duì)地址/b.jsp 絕對(duì)地址/WEB-INF/b.jsp或者<%=request.getContext()=%>/WEB-INF/b.jsp,但無(wú)論怎么搞都不行,這個(gè)時(shí)候就比較崩潰。想直接跳轉(zhuǎn)從安全性的角度來(lái)看肯定不行的,因?yàn)樵赪EB-INF底下web容器是不讓你看見(jiàn)他的跳轉(zhuǎn)路徑的。直接跳轉(zhuǎn)不行,間接跳轉(zhuǎn)還是有的,比如struts的action跳轉(zhuǎn)就是一種間接,為什么間接就是安全的呢?因?yàn)樗奶D(zhuǎn)地址是在web.xml里面配好的,訪(fǎng)問(wèn)的人是看不見(jiàn)的所以是間接安全的。難道只有struts可以完成間接的任務(wù),顯然不是了。其實(shí)想一想struts的action是什么東西就知道怎么做了,struts的action說(shuō)白了還是一個(gè)servlet,所以可以通過(guò)servlet來(lái)完成任務(wù)了。
首先在web.xml里面配置servlet和servlet mapping
<servlet>
<servlet-name>goto</servlet-name>
<jsp-file>/WEB-INF/jsp/test.jsp</jsp-file>--要跳轉(zhuǎn)到的頁(yè)面
</servlet>
<servlet-mapping>
<servlet-name>goto</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
配置好了之后在jsp頁(yè)面里用a就可以跳轉(zhuǎn)了<a href="/工程名/test">測(cè)試頁(yè)面跳轉(zhuǎn)</a>--這里一定要“/工程名/test”
通過(guò)servlet跳轉(zhuǎn)還是比較麻煩了,但是這樣能保證JSP頁(yè)面的安全性,想兩全其美是比較難的了。
當(dāng)然如果安全要求不高,那就可以做成很簡(jiǎn)單的了,直接把所有的jsp頁(yè)面全部放在webRoot底下,在WebRoot下頁(yè)面用戶(hù)可以直接輸入地址訪(fǎng)問(wèn)。
相關(guān)案例查看更多
相關(guān)閱讀
- 昆明網(wǎng)站制作
- web
- 報(bào)廢車(chē)拆解系統(tǒng)
- 云南etc小程序
- 小程序開(kāi)發(fā)公司
- 網(wǎng)站制作哪家好
- 小程序開(kāi)發(fā)聯(lián)系方式
- 小程序生成海報(bào)
- 小程序公司
- 網(wǎng)站建設(shè)專(zhuān)家
- 汽車(chē)報(bào)廢軟件
- python開(kāi)發(fā)小程序
- 網(wǎng)站建設(shè)列表網(wǎng)
- 小程序被騙
- 河南小程序制作
- 高端網(wǎng)站建設(shè)公司
- 汽車(chē)回收系統(tǒng)
- 云南建設(shè)廳網(wǎng)站
- 云南網(wǎng)站建設(shè)案例
- 前端
- 云南網(wǎng)站建設(shè)列表網(wǎng)
- 報(bào)廢車(chē)管理系統(tǒng)
- 云南網(wǎng)站建設(shè)哪家好
- 網(wǎng)站建設(shè)優(yōu)化
- 網(wǎng)站建設(shè)方法
- 云南網(wǎng)站開(kāi)發(fā)哪家好
- 網(wǎng)站建設(shè)服務(wù)
- 云南小程序開(kāi)發(fā)課程
- 云南小程序制作
- 昆明小程序公司