亚洲免费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.

        亚洲AV一二三四区四色婷婷 | 精品亚洲a∨无码一区二区三区| 欧美人妻日韩精品| 亚洲AV电影天堂男人的天堂| 亚洲又黄又大又爽毛片| 日本人妻精品有码字幕| 中文字幕一区日韩精品| 国产精品 视频一区 二区三区| 欧美jizzhd精品欧美| 国内精品一区二区2021在线 | 亚洲中文字幕一区二区在线| 亚洲av无码乱码国产精品久久| 99精品国产兔费观看久久99| 午夜亚洲国产精品福利| 国产精品日韩亚洲一区二区| 久久性爱视频| 久久天天躁狠狠躁夜夜96流白浆| 国产精品视频一区二区三区,| 午夜理论片日本中文在线| 欧美日韩精品久久久久| 7777精品久久久大香线蕉| 免费高清视频在线观看视频| 日韩av毛片在线观看| 一本一本久久aa综合精品| 四虎精品免费永久在线| 亚洲一区二区三区视频免费| 97丨九色丨国产人妻熟女| 中文字幕爆乳julia女教师| 精品久久亚洲一级α| 国产成人精品一区二区三区av| 亚洲人成影院在线无码按摩店| 人妻无码人妻有码中文字幕| 一区二区三区午夜视频在线观看| 亚洲人成网站色在线入口口| 高潮又爽又无遮挡又免费| 亚洲爆乳大丰满无码专区| 丰满人妻被公侵犯的视频| 日韩日韩日韩日韩日韩日韩| 国内露脸中年夫妇交换| 激情一区二区三区视频| 亚洲免费观看视频|