亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SSH的J2EE架構(gòu)的安全問題研究

        2015-04-28 18:33:15陳姍萬曉燕
        企業(yè)導報 2015年7期

        陳姍 萬曉燕

        摘 要:本文本文以網(wǎng)上基金交易平臺這個項目為例,探討了項目開發(fā)中權(quán)限控制、加密方法等安全性問題。

        關(guān)鍵詞:SSH;權(quán)限控制;MD5加密

        隨著Java技術(shù)的逐漸成熟與完善,作為建立企業(yè)級應用的標準平臺,J2EE平臺得到了長足的發(fā)展,Struts+Spring+Hiber

        nate三者結(jié)合起來成為當今企業(yè)開發(fā)中普遍使用的一種快速高效的開發(fā)模式。但是,作者在利用這種模式進行實際項目開發(fā)時遇到了很多安全性的問題。本文以網(wǎng)上基金交易平臺項目為例,探討了基于SSH的項目在開發(fā)過程中會遇到的重要安全性問題以及相應的解決方案。

        一、SSH開發(fā)模式

        SSH模式是基于J2EE架構(gòu)的一種Framework,用Struts實現(xiàn)表示層,用Spring實現(xiàn)業(yè)務層,用Hibernate實現(xiàn)持久層,然后把這三者整合起來應用到項目開發(fā)中。

        Struts是 Apache Jakarta項目推出的一個開源的Java Web框架,它很好的實現(xiàn)了MVC設(shè)計模式。Spring是一款近幾年非常流行的、開源的開發(fā)框架,Spring的核心是一個實現(xiàn)了IoC(Inversion of Control)模式的輕量級容器。Hibernate是目前最流行的ORM框架,是連接Java對象模型(java object modle)和關(guān)系數(shù)據(jù)模型的橋梁,它對JDBC進行了輕量級的封裝,不僅提供ORM映射服務,還提供數(shù)據(jù)查詢和數(shù)據(jù)緩沖功能。

        二、SSH開發(fā)中存在的安全性問題及解決方案

        本文下面以項目中登陸模塊為例,探討一下針對這些安全性問題的解決方案。

        (一)權(quán)限控制實現(xiàn)。在本系統(tǒng)中,需要權(quán)限管理的問題有很多。下面舉其中一個作為例子,說明一下我們關(guān)于權(quán)限控制的實現(xiàn)思路。

        基金交易操作人員分兩個等級,高級操作人員可以注冊新的操作員、對基金進行增刪改的操作,而普通操作人員僅能進行查詢基金信息、買賣基金等操作。我們定義不同的變量區(qū)分不同操作任務,如delFund代表刪除基金,值“1”為有權(quán)限,值“0”為無權(quán)限。

        為了存取的方便和信息的安全,我們將所有權(quán)限信息封裝在一個類UserInfo中,在用戶登錄系統(tǒng)后根據(jù)用戶的角色將其權(quán)限寫入session,當用戶要進行某個操作時,我們首先從

        session中取出其權(quán)限值進行判斷,如果權(quán)限不夠則返回到相應的報錯頁面,并在log中記錄該越權(quán)操作,在用戶退出系統(tǒng)后銷毀session中相應的權(quán)限數(shù)據(jù)。

        由于本系統(tǒng)采用SSH整合模式,我們可以利用AOP編程實現(xiàn)細粒度的權(quán)限管理。定義一個權(quán)限管理模塊,在Dele

        gatingActionProxy中調(diào)用該權(quán)限管理模塊針對具體的對象和操作進行權(quán)限判斷,如果具有該權(quán)限,則將請求發(fā)生到相應的

        Action操作。經(jīng)過這樣的設(shè)計處理后,很好的實現(xiàn)了權(quán)限控制,而且系統(tǒng)代碼耦合性低、易于擴展。

        (二)防止SQL注入式攻擊。SQL注入就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執(zhí)行惡意的SQL命令。常見的一種攻擊方式是,有查詢語句:

        statement := "SELECT * FROM users WHERE name = '"

        + userName + "';

        該語句的目的本來在于測試用戶名是否合法,但是,如果用戶名被一個惡意的用戶用一種特定的方式偽造,這個語句所執(zhí)行的操作就不是代碼的作者所期望的那樣了。例如,將用戶名變量(即username)設(shè)置為:a' or 't'='t,此時原始語句發(fā)生了變化:SELECT * FROM users WHERE name = 'a' OR 't'='t';這樣一來,在認證過程中,用戶名就被認為永久性合法了,這對于web系統(tǒng)來說顯然是非常危險的。

        SQL注入是從正常的WWW端口訪問,而且表面看起來跟一般的Web頁面訪問沒什么區(qū)別,所以目前市面的防火墻都不會對SQL注入發(fā)出警報,如果管理員沒查看IIS日志的習慣,可能被入侵很長時間都不會發(fā)覺。

        基金交易系統(tǒng)式非常容易受到這種攻擊的,侵入者通常采用這種方式盜取客戶的帳戶和密碼,使客戶蒙受巨大的經(jīng)濟損失,所以如何防止SQL注入式攻擊也是作者在系統(tǒng)設(shè)計中著重考慮的一個問題。經(jīng)過一系列實驗和探討,作者最終采用了如下方法。

        以往作者直接使用JDBC連接數(shù)據(jù)庫時,通常采用

        PrepareStatement來解決注入式攻擊的問題,在SSH架構(gòu)中,持久層使用的是Hibernate連接,所以使用采用占位符防止SQL注入式攻擊更為簡單。

        結(jié)束語:對于web應用系統(tǒng)的搭建來說,系統(tǒng)的安全性是一個至關(guān)重要的問題,經(jīng)過作者在權(quán)限控制、加密、驗證碼、sql注入式攻擊幾方面的改進之后,整個系統(tǒng)具有了更好的安全性和健壯性,同時還保證了代碼的低耦合和易于擴展。本文討論的SSH模式的幾種安全方案具有很好的實踐意義,是對SSH模式一個很好的改進。

        參考文獻:

        [1] Struts official network..The apache software foundation [EB/OL]. http://struts.apache.org/.

        [2] Hibernate official network.Relational Persistence for Java and.NET[EB/OL]. http://www.hibernate.org.

        东北熟妇露脸25分钟| 亚洲国产av导航第一福利网 | 成人白浆超碰人人人人| 成人国产精品一区二区网站| 国产大陆av一区二区三区| 免费看黄在线永久观看| 日本高清一级二级三级| 免费国产在线精品一区| 九色九九九老阿姨| 中国凸偷窥xxxx自由视频妇科| 丰满多毛少妇做爰视频| 综合91在线精品| 国产一区二区内射最近人| 少妇性l交大片免费快色| 亚洲中文字幕乱码一二三| av一区二区三区在线| 国产精品久久久久久久久岛| 国产精品亚洲专区无码web| 亚洲综合天堂av网站在线观看 | 亚洲色欲久久久久综合网| 欧美色图中文字幕| 中国免费av网| 亚洲精品国产亚洲av| 丰满少妇被猛烈进入高清播放| 乱中年女人伦av一区二区| 成人片黄网站色大片免费观看cn| 亚洲欧洲日韩免费无码h | 成人大片免费视频播放一级| 国产日产欧洲系列| 热99精品| 亚洲av福利天堂在线观看 | 福利一区二区三区视频在线| 久草视频在线手机免费看| 特黄熟妇丰满人妻无码| 玩弄放荡人妻一区二区三区| av一区二区不卡久久| 午夜被窝精品国产亚洲av香蕉 | 又湿又紧又大又爽a视频国产| 国产美女在线精品免费观看| 久久九九青青国产精品| 亚洲av色香蕉一区二区三区av|