999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

防SQL注入的web系統交互設計

2014-09-23 01:45:26毋世曉
企業導報 2014年9期
關鍵詞:頁面數據庫用戶

毋世曉

摘要:用戶使用表單頁面進行交互時,系統對關鍵的SQL操作語句進行預處理,可以防止SQL注入。經過預處理的數據查詢語言比普通意義上的SQL語句更加安全可靠。本文以留言板系統為例,對該系統的功能里涉及登陸、注冊、添加留言的頁面代碼SQL語句部分進行了預處理,借以保證用戶信息安全。

關鍵詞:QL預處理;留言板;SQL注入引言:根據Imperva公司的“監測黑客論壇:ADC每月網絡攻擊分析(2012年10月)”報告顯示,在黑客論壇,最常被討論的是拒絕服務(DoS)/分布式拒絕服務(DDoS)攻擊和SQL注入。根據安全云托管公司FireHost公司9月份發布的報告顯示,在2012年的前兩個季度,SQL注入攻擊上升了69%。SQL注入可以通過判斷Web環境是否可以進入,進而輸入特殊的語句判斷數據庫的類型、判斷數據庫的用戶名和密碼,最終進入后臺管理獲取用戶信息,這對Web安全威脅很大。

本文通過一個詳細的案列來介紹如何在一個系統中利用SQL 預處理語句防范SQL注入。SQL預處理語句實現的過程就是內部轉義的過程,它將一些需要轉義的字符進行轉義,對SQL語句進行預處理, 將SQL語句進行內部編譯并優化,所需要的查詢只需要被解析一次,使用的資源更少,執行速度更快,當然也更安全。

系統包括5個模塊:登陸、注冊、添加留言、查看留言,刪除留言。前四個模塊是針對用戶的,后一個模塊是針對管理人員的。

文章的第一部分是引言,第二部分介紹論文的技術背景,第三部分介紹系統的詳細設計,第四部分是實現結果,第五部分是總結,第六部分是參考文獻。

一、技術背景

本系統使用JSP+JavaBean+Access的方式來開發留言板系統[1]。所需要的軟件涉及:Apache Tomcat 6.0,jdk1.7.0_17,Microsoft Access 2000, Macromedia Dreamweaver 8, Jcreator LE

5.00,在所有的軟件安裝成功以后需要配置2個環境變量:在我的電腦-->屬性-->高級-->環境變量里,系統變量里選中Path變量雙擊打開,在變量名的最后一個分號后面加入:C:Program FilesJavajdk1.7.0_17in;(前提是JDK是默認安裝的),并在系統變量里新建變量名為ClassPath變量值為C:

Program FilesJavajdk1.7.0_17lib的系統變量,配置Java所需的運行環境,是因為JSP頁面里會涉及部分Java代碼[2]。

在這些軟件中,JDK保證JSP中J(Java)的運行環境,Tom

cat充當JSP中S(Server)服務器的功能,Dreamweaver提供

JSP中P(Page)的編輯環境。 可以在Jcreator中查看Java文件,并將Java文件編譯成.class文件,.class文件都被部署在C:Program FilesApache Software FoundationTomcat 6.0webappsROOTWEB-INFclassesmypackage文件夾下,在JSP文件中通過import導入這些class文件。

系統共使用10個文件,其中包括2個class文件(Access

ConnBean.class, MyUtil.class),6個jsp文件(Login.jsp, liuyan.

jsp, writely.jsp, viewly.jsp, writelyd.jsp, delete.jsp),2個html頁面(1.html, 2.html)。

AccessConnBean.class 文件完成連接數據庫的功能,MyU

til.class文件完成GB2312碼到Unicode碼的轉換,因表單輸入頁面是GB2312碼,而JSP頁面的字符串是以Unicode顯示的。

因為涉及將注冊信息及留言信息寫入數據庫,系統設計了2個Access數據庫——liuyan.mdb和user_info數據庫。JSP訪問Access數據庫的方式是JDBC-ODBC[3]。數據庫的詳細設計將在第三章介紹。

二、留言板系統

(一)系統功能。本系統共包括2個子系統(用戶登陸和留言系統),共完成5個功能:(1)登陸功能。登陸的用戶必須是數據庫里的用戶,如果不是已經注冊的用戶,則需要點擊注冊。成功則進入注冊界面,失敗留在當前頁面。(2)注冊功能。單輸入自己的用戶名、密碼、郵箱等信息,并通過writelyd.jsp頁面寫入數據庫。(3)查看留言。已經存在的用戶登錄進入系統以后可以查看留言板信息。(4) 添加留言。用戶輸入正確的用戶名和密碼以后可以進入liuyan.jsp頁面添加留言,留言內容會通過write

ly.jsp頁面添加到數據庫。(5)刪除留言。該模塊需要用戶登錄,且必須知道管理員的用戶名和密碼,在2.html輸入要刪除的留言者姓名,通過delete.jsp頁面進行處理,即可刪除該留言者的留言。

(二)數據庫設計。留言版系統采用Access數據庫,因為該數據庫設計比較簡單,只存放用戶注冊信息及留言信息,涉及了數據庫的插入,查詢,刪除等操作。

該系統包含兩個數據庫: user_info數據庫和liuyan數據庫,這兩個數據庫各自包含同名的一個表,user_info表包含us

er_id,password, email, name, sex 5個字段。Liuyan表包含xm,

email, ly, url 4個字段。

(三)預處理實現 。留言板系統涉及用戶信息的有以下3個頁面:Login.jsp, writely.jsp, writelyd.jsp。他們分別完成的功能是使用用戶名和密碼登陸、將注冊信息寫入數據庫、將留言信息寫入數據庫。這3個頁面都是處理Web表單提交的信息,涉及信息的內容包括用戶的用戶名,密碼,郵箱,留言內容,姓名,地址等。我們使用預處理語句處理數據庫的查詢、插入等操作, 在防止SQL注入的同時還可以提高系統性能。

以Login.jsp登錄頁面為例,我們給出關鍵代碼來給大家作對比,先給出普通版本的:

AccessBean.OpenConn();

String sql = “select user_id,password from user_info where

user_id=‘”+userId+” and password=‘“+password+“”;

ResultSet rs = AccessBean.executeQuery(sql);

其中AccessBean是AccessConnBean的一個別名,我們在

usebean中簡化了這個類名,這個類用來連接Access數據庫,根據數據查詢返回結果集ResultSet。

其次我們給出PrepareStatement版本的:

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);con=

DriverManager.getConnection(“jdbc:odbc:user_info“,” “,””);

String sql = select user_id,password from user_info where

user_id=‘“+userId+” and password=“+password+”;

PreparedStatement pstmt=con.prepareStatement(sql);

ResultSet rs=pstmt.executeQuery();

在這個版本中,第一句是連接JDBC-ODBC驅動,第二句連接user_info用戶注冊數據庫,第三句是SQL查詢語句,第四句將SQL語言進行預編譯,并通過預編譯語句對象執行查詢,將數據結果返回給ResultSet。

使用PreparedStatement預處理語句可以將SQL語言進行預編譯,預處理可以自動檢查已經綁定好的變量,同時強制轉換這些變量使之與底層數據庫驅動相匹配,它會忽略掉一些惡意的字符串,在防范SQL注入的同時因為其預編譯的功能可以節約因多次重復輸入相同條件的SQL語句而消耗的資源。

總結:該系統經測試運行正常,可以實現登錄、注冊、添加留言、查看留言、刪除留言等功能。經過Web表單預提交的數據經過SQL預處理可以防止SQL注入。

參考文獻:

[1] 劉玉軒. 基于JSP 和MySQL 的留言板系統設計與實現[J].計算機與信息技術。

[2] 張興科. JSP動態網站設計項目教程. 北京: 中國人民大學出版社,2010

[3] 張志峰等。Java Web技術整合應用與項目實戰。北京:清華大學出版社,2010.

[4] 王燕,李明,王惠琴.??Web數據庫的連接技術及安全控制[J].

猜你喜歡
頁面數據庫用戶
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 尤物国产在线| 日韩天堂网| 国产丝袜无码一区二区视频| 欧美色伊人| 综合亚洲网| 青草视频久久| 亚洲免费三区| 午夜精品一区二区蜜桃| 久久毛片基地| 国产真实乱子伦精品视手机观看| 中文字幕伦视频| 国产黄视频网站| 亚洲天堂免费观看| 色老头综合网| 国产精品大白天新婚身材| 国产成人精品优优av| 亚洲va欧美ⅴa国产va影院| 日本人妻丰满熟妇区| 中文字幕1区2区| 亚洲国产精品无码久久一线| 亚洲无码高清一区| 91丝袜乱伦| 色婷婷在线播放| 精品视频一区二区三区在线播| 一区二区三区在线不卡免费| av一区二区无码在线| 国产精品福利尤物youwu| 国产精品天干天干在线观看| 亚洲综合精品第一页| 亚洲国产精品人久久电影| 在线视频亚洲欧美| 国产精品久久久精品三级| 99热最新网址| 亚洲一级毛片在线观播放| 成人另类稀缺在线观看| 成人精品免费视频| 欧美精品在线观看视频| 九九视频在线免费观看| 亚洲热线99精品视频| 伊人国产无码高清视频| 国产99在线观看| 日韩福利视频导航| 国产在线98福利播放视频免费| 国产黄色片在线看| 美女一级毛片无遮挡内谢| 亚洲一区二区日韩欧美gif| 亚欧成人无码AV在线播放| 免费看av在线网站网址| 波多野结衣一二三| 国产亚洲欧美另类一区二区| 亚洲中文在线看视频一区| 久久黄色影院| AV色爱天堂网| 久久福利网| 国产精品网址你懂的| 91福利一区二区三区| 亚洲国产精品无码AV| 欧美成人影院亚洲综合图| 欧美精品导航| 国产精品任我爽爆在线播放6080| 国产91成人| 精品一區二區久久久久久久網站 | 亚洲a级毛片| 免费观看亚洲人成网站| 91精品国产情侣高潮露脸| 成人在线观看不卡| 欧美啪啪网| 亚洲三级影院| 国产一区在线观看无码| 欧美日韩综合网| 亚洲三级影院| 久久精品国产精品一区二区| 欧美啪啪网| 久久精品国产精品青草app| 亚洲精品中文字幕无乱码| 亚洲成人网在线观看| 国产在线观看精品| 最新国产在线| 亚洲欧美不卡| jizz在线免费播放| 无码国内精品人妻少妇蜜桃视频| 人人澡人人爽欧美一区|