国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP代碼網(wǎng)站如何防范SQL注入漏洞攻擊建議分享

PHP代碼網(wǎng)站如何防范SQL注入漏洞攻擊建議分享

2019-12-27 17:10PHP教程網(wǎng) PHP教程

所有的網(wǎng)站管理員都會(huì)關(guān)心網(wǎng)站的安全問題。說到安全就不得不說到SQL注入攻擊(SQL Injection)

黑客通過SQL注入攻擊可以拿到網(wǎng)站數(shù)據(jù)庫的訪問權(quán)限,之后他們就可以拿到網(wǎng)站數(shù)據(jù)庫中所有的數(shù)據(jù),惡意的黑客可以通過SQL注入功能篡改數(shù)據(jù)庫中的數(shù)據(jù)甚至?xí)褦?shù)據(jù)庫中的數(shù)據(jù)毀壞掉。做為網(wǎng)絡(luò)開發(fā)者的你對(duì)這種黑客行為恨之入骨,當(dāng)然也有必要了解一下SQL注入這種功能方式的原理并學(xué)會(huì)如何通過代碼來保護(hù)自己的網(wǎng)站數(shù)據(jù)庫。今天就通過PHP和MySQL數(shù)據(jù)庫為例,分享一下我所了解的SQL注入攻擊和一些簡單的防范措施和一些如何避免SQL注入攻擊的建議。 
什么是SQL注入(SQL Injection)? 
簡單來說,SQL注入是使用代碼漏洞來獲取網(wǎng)站或應(yīng)用程序后臺(tái)的SQL數(shù)據(jù)庫中的數(shù)據(jù),進(jìn)而可以取得數(shù)據(jù)庫的訪問權(quán)限。比如,黑客可以利用網(wǎng)站代碼的漏洞,使用SQL注入的方式取得一個(gè)公司網(wǎng)站后臺(tái)數(shù)據(jù)庫里所有的數(shù)據(jù)信息。拿到數(shù)據(jù)庫管理員登錄用戶名和密碼后黑客可以自由修改數(shù)據(jù)庫中的內(nèi)容甚至刪除該數(shù)據(jù)庫。SQL注入也可以用來檢驗(yàn)一個(gè)網(wǎng)站或應(yīng)用的安全性。SQL注入的方式有很多種,但本文將只討論最基本的原理,我們將以PHP和MySQL為例。本文的例子很簡單,如果你使用其它語言理解起來也不會(huì)有難度,重點(diǎn)關(guān)注SQL命令即可。 
一個(gè)簡單的SQL注入攻擊案例 
假如我們有一個(gè)公司網(wǎng)站,在網(wǎng)站的后臺(tái)數(shù)據(jù)庫中保存了所有的客戶數(shù)據(jù)等重要信息。假如網(wǎng)站登錄頁面的代碼中有這樣一條命令來讀取用戶信息。 

復(fù)制代碼代碼如下:


<? 
$q = "SELECT `id` FROM `users` WHERE `username`= ' " .$_GET['username']. " ' AND `password`= ' " .$_GET['password']. " ' "; 
?> 


現(xiàn)在有一個(gè)黑客想攻擊你的數(shù)據(jù)庫,他會(huì)嘗試在此登錄頁面的用戶名的輸入框中輸入以下代碼: 
' ; SHOW TABLES; 
點(diǎn)擊登陸鍵,這個(gè)頁面就會(huì)顯示出數(shù)據(jù)庫中的所有表。如果他現(xiàn)在使用下面這行命令: 
'; DROP TABLE [table name]; 
這樣他就把一張表刪除了! 
當(dāng)然,這只是一個(gè)很簡單的例子,實(shí)際的SQL注入方法比這個(gè)要復(fù)雜得多,黑客也愿意花大量的時(shí)間來不斷嘗試來攻擊你的代碼。有一些程序軟件也可以自動(dòng)地來不斷嘗試SQL注入攻擊。了解了SQL注入的攻擊原理后,我們來看一下如何防范SQL注入攻擊。 
防范SQL注入 - 使用mysql_real_escape_string()函數(shù) 
在數(shù)據(jù)庫操作的代碼中用這個(gè)函數(shù)mysql_real_escape_string()可以將代碼中特殊字符過濾掉,如引號(hào)等。如下例: 

復(fù)制代碼代碼如下:


<? 
$q = "SELECT `id` FROM `users` WHERE `username`= ' " .mysql_real_escape_string( $_GET['username'] ). " ' AND `password`= ' " .mysql_real_escape_string( $_GET['password'] ). " ' "; 
?> 


防范SQL注入 - 使用mysql_query()函數(shù) 
mysql_query()的特別是它將只執(zhí)行SQL代碼的第一條,而后面的并不會(huì)執(zhí)行。回想在最前面的例子中,黑客通過代碼來例后臺(tái)執(zhí)行了多條SQL命令,顯示出了所有表的名稱。所以mysql_query()函數(shù)可以取到進(jìn)一步保護(hù)的作用。我們進(jìn)一步演化剛才的代碼就得到了下面的代碼: 

復(fù)制代碼代碼如下:


<? 
//connection 
$database = mysql_connect("localhost", "username","password"); 
//db selection 
mysql_select_db("database", $database); 
$q = mysql_query("SELECT `id` FROM `users` WHERE `username`= ' " .mysql_real_escape_string( $_GET['username'] ). " ' AND `password`= ' " .mysql_real_escape_string( $_GET['password'] ). " ' ", $database); 
?> 


除此之外,我們還可以在PHP代碼中判斷輸入值的長度,或者專門用一個(gè)函數(shù)來檢查輸入的值。所以在接受用戶輸入值的地方一定要做好輸入內(nèi)容的過濾和檢查。當(dāng)然學(xué)習(xí)和了解最新的SQL注入方式也非常重要,這樣才能做到有目的的防范。如果使用的是平臺(tái)式的網(wǎng)站系統(tǒng)如Wordpress,要注意及時(shí)打上官方的補(bǔ)丁或升級(jí)到新的版本。如果有講得不對(duì)的地方或不理解的請(qǐng)?jiān)谠u(píng)論區(qū)留言。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲 欧美 日韩 在线 | 成人在线观看网 | 亚洲男人的天堂网站 | 黄色成人在线 | 一区二区三区成人久久爱 | 日韩电影在线一区 | 国产精品久久一区 | 黄色一级毛片在线观看 | 精品国产91 | 中文字幕在线观看免费 | 欧美成视频 | 欧美第一专区 | 日韩高清中文字幕 | 国产欧美精品一区二区三区四区 | 毛片在线播放网站 | 成人教育av | 国产免费成人 | 91性高湖久久久久久久久网站 | 国产精品成人国产乱一区 | 久久大香 | 国产精彩视频 | 欧美亚洲视频在线观看 | 中文字幕免费播放 | 久久久91 | 福利片在线观看 | 伊人6 | 开心久久婷婷综合中文字幕 | 亚洲激情在线观看 | 亚洲一区二区精品视频 | 成人在线网站 | 中文字幕日韩欧美一区二区三区 | 久久久久成人精品 | 成人在线网站 | 91精品啪aⅴ在线观看国产 | 奇米一区二区三区 | 在线色网 | 色狠狠一区 | 久久久久久免费 | 一区二区自拍 | 久久午夜综合久久 | 精久久久 |