又爽又高潮的BB视频免费看,久久99精品久久久久子伦,男女性杂交内射女BBWXZ,新激情五月天

18842388900

網(wǎng)站建設(shè) APP開(kāi)發(fā) 小程序

Article/文章

記錄成長(zhǎng)點(diǎn)滴 分享您我感悟

您當(dāng)前位置>首頁(yè) > 知識(shí) > 網(wǎng)站建設(shè)

JSP,ASP和PHP安全編程

Java Server Page(JSP)作為構(gòu)建動(dòng)態(tài)Web頁(yè)面的技術(shù)不斷發(fā)展。 JSP,ASP和PHP的工作方式不同。通常,JSP頁(yè)面在執(zhí)行時(shí)被編譯,而不是解釋。對(duì)JSP文件的第一次調(diào)用實(shí)際上是一個(gè)編譯成servlet的過(guò)程。當(dāng)瀏覽器從服務(wù)器請(qǐng)求此JSP文件時(shí),服務(wù)器將檢查自上次編譯以來(lái)JSP文件是否已更改。如果沒(méi)有變化,Servlet直接執(zhí)行而無(wú)需重新編譯,因此效率明顯提高。

今天,我將從腳本的角度與您一起研究JSP的安全性。源代碼公開(kāi)類(lèi)等安全風(fēng)險(xiǎn)超出了本文的范圍。撰寫(xiě)本文的主要目的是提醒剛接觸JSP編程的朋友。從一開(kāi)始,他們就應(yīng)該培養(yǎng)安全編程的意識(shí),不要犯錯(cuò)誤,避免可以避免的損失。另外,我也是初學(xué)者。如果您有任何錯(cuò)誤或其他意見(jiàn),請(qǐng)發(fā)布消息。

一、認(rèn)證不嚴(yán)——低級(jí)失誤

如果要查看和修改用戶(hù)的信息,則應(yīng)使用modifyuser_manager.jsp文件。管理員提交http://www.somesite.com/yyforum/modifyuser_manager.jsp?modifyid=51將查看和修改ID為51的用戶(hù)數(shù)據(jù)(管理員的默認(rèn)用戶(hù)ID為51)。但是,這樣一個(gè)重要的文件缺乏認(rèn)證,普通用戶(hù)(包括游客)也可以直接或一目了然地提交上述請(qǐng)求(密碼也以明文形式存儲(chǔ)和顯示)。 Modifyuser_manage.jsp也是門(mén)戶(hù)網(wǎng)站打開(kāi),直到惡意用戶(hù)完成更新數(shù)據(jù)的操作,并且當(dāng)重定向到user_manager.jsp時(shí),他將看到顯示錯(cuò)誤的錯(cuò)誤頁(yè)面。顯然,僅鎖一扇門(mén)是不夠的。編程時(shí),必須麻煩地將身份驗(yàn)證添加到身份驗(yàn)證的每個(gè)位置。

二、守好JavaBean的入口

JSP組件技術(shù)的核心是一個(gè)名為bean的Java組件。在程序中,邏輯控制和數(shù)據(jù)庫(kù)操作可以放在javabeans組件中,然后在JSP文件中調(diào)用,這可以提高程序的清晰度和程序的可重用性。與傳統(tǒng)的ASP或PHP頁(yè)面相比,JSP頁(yè)面非常緊湊,因?yàn)樵S多動(dòng)態(tài)頁(yè)面處理可以封裝到JavaBeans中。

要更改JavaBean屬性,請(qǐng)使用“”標(biāo)記。

以下代碼是電子購(gòu)物系統(tǒng)的虛構(gòu)源代碼的一部分。此文件用于在用戶(hù)的購(gòu)物框中顯示信息,checkout.jsp用于結(jié)帳。

YourBasket

Youhaveaddedtheitem toyourbasket。 Yourtotalis $ Proceedto checkout

你注意到property='*'了嗎?這表示用戶(hù)在可見(jiàn)JSP頁(yè)面中輸入的值或直接通過(guò)查詢(xún)字符串提交的所有變量將存儲(chǔ)在匹配的bean屬性中。

通常,用戶(hù)提交請(qǐng)求如下:http://www.somesite.com/addToBasket.jsp?newItem=ITEM0105342但是不守規(guī)矩的用戶(hù)呢?他們可能會(huì)提交:http://www.somesite.com /addToBasket.jsp?newItem=ITEM0105342&balance=0這樣,balance=0信息存儲(chǔ)在JavaBean中。當(dāng)他們點(diǎn)擊“chekout”結(jié)賬時(shí),費(fèi)用是免費(fèi)的。這與PHP中的全局變量引起的安全問(wèn)題完全相同。這表明:“property='*'”必須謹(jǐn)慎使用!

三、長(zhǎng)盛不衰的跨站腳本

跨站點(diǎn)腳本攻擊涉及將惡意JavaScript,VBScript,ActiveX,HTML或Flash腳本插入到遠(yuǎn)程網(wǎng)頁(yè)的HTML代碼中,竊取瀏覽頁(yè)面的用戶(hù)的隱私以及更改用戶(hù)的設(shè)置。銷(xiāo)毀用戶(hù)的數(shù)據(jù)。在大多數(shù)情況下,跨站點(diǎn)腳本攻擊不會(huì)影響服務(wù)器和Web應(yīng)用程序的運(yùn)行,但會(huì)對(duì)客戶(hù)端安全構(gòu)成嚴(yán)重威脅。

四、時(shí)刻牢記SQL注入

一般的編程書(shū)籍不注重讓他們從初學(xué)者開(kāi)始就養(yǎng)成安全編程的習(xí)慣。著名的《JSP編程思想與實(shí)踐》是向初學(xué)者演示用數(shù)據(jù)庫(kù)編寫(xiě)登錄系統(tǒng)(數(shù)據(jù)庫(kù)是MySQL)

五、String對(duì)象帶來(lái)的隱患

Java平臺(tái)確實(shí)使安全編程更容易。 Java中沒(méi)有指針,這意味著Java程序不再尋址地址空間中的任何內(nèi)存位置,例如C.當(dāng)JSP文件編譯成.class文件時(shí),會(huì)檢查安全問(wèn)題。例如,拒絕嘗試訪(fǎng)問(wèn)超出數(shù)組大小的數(shù)組元素,這很大程度上避免了緩沖區(qū)溢出攻擊。但是,String對(duì)象會(huì)給我們帶來(lái)一些安全隱患。如果密碼存儲(chǔ)在Java String對(duì)象中,則密碼將保留在內(nèi)存中,直到它被垃圾回收或進(jìn)程終止。即使垃圾收集完成,它仍將存在于空閑內(nèi)存堆中,直到它被重用。密碼字符串駐留在內(nèi)存中的時(shí)間越長(zhǎng),竊聽(tīng)的風(fēng)險(xiǎn)就越大。更糟糕的是,如果實(shí)際內(nèi)存減少,操作系統(tǒng)會(huì)將密碼字符串頁(yè)面調(diào)度到磁盤(pán)的交換空間,因此容易受到磁盤(pán)塊竊聽(tīng)攻擊。為了最小化(但不是消除)這種折衷的可能性,您應(yīng)該將密碼存儲(chǔ)在char數(shù)組中并在使用后將其歸零(String是不可變的且不能歸零)。

網(wǎng)站建設(shè),小程序開(kāi)發(fā),小程序制作,微信小程序開(kāi)發(fā),公眾號(hào)開(kāi)發(fā),微信公眾號(hào)開(kāi)發(fā),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計(jì),微信小程序設(shè)計(jì),小程序定制,微信小程序定制

相關(guān)案例查看更多

国产精品免费看久久久无码| 亚洲熟妇无码八AV在线播放| 久久精品国产2020观看福利 | 日本丰满熟妇XXXXXHD| 国产麻豆VIDEOXXXX实拍| 醉酒后少妇被疯狂内射视频|