成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

防止sql注入的方法

GHOST_349178 / 3548人閱讀

摘要:打開來防止注入注入是非常危險的問題,小則網(wǎng)站后臺被入侵,重則整個服務(wù)器淪陷,所以一定要小心。雖然國內(nèi)很多程序員仍在依靠防止注入,還是建議大家加強中文防止注入的檢查。

1.

打開magic_quotes_gpc來防止SQL注入
SQL注入是非常危險的問題,小則網(wǎng)站后臺被入侵,重則整個服務(wù)器淪陷,
所以一定要小心。php.ini中有一個設(shè)置:

magic_quotes_gpc = Off
這個默認(rèn)是關(guān)閉的,如果它打開后將自動把用戶提交對sql的查詢進行轉(zhuǎn)換,
比如把 " 轉(zhuǎn)為 "等,這對防止sql注射有重大作用。所以我們推薦設(shè)置為:

magic_quotes_gpc = On
(10) 錯誤信息控制

一般php在沒有連接到數(shù)據(jù)庫或者其他情況下會有提示錯誤,一般錯誤信息中會包含php腳本當(dāng)

前的路徑信息或者查詢的SQL語句等信息,這類信息提供給黑客后,是不安全的,所以一般服務(wù)器建議禁止錯誤提示:

display_errors = Off

如果你卻是是要顯示錯誤信息,一定要設(shè)置顯示錯誤的級別,比如只顯示警告以上的信息:

error_reporting = E_WARNING & E_ERROR

當(dāng)然,我還是建議關(guān)閉錯誤提示。

(11) 錯誤日志

建議在關(guān)閉display_errors后能夠把錯誤信息記錄下來,便于查找服務(wù)器運行的原因:

log_errors = On

同時也要設(shè)置錯誤日志存放的目錄,建議根apache的日志存在一起:

error_log = D:/usr/local/apache2/logs/php_error.log

注意:給文件必須允許apache用戶的和組具有寫的權(quán)限。

MYSQL的降權(quán)運行

新建立一個用戶比如mysqlstart

net user mysqlstart fuckmicrosoft /add

net localgroup users mysqlstart /del

不屬于任何組

如果MYSQL裝在d:mysql ,那么,給 mysqlstart 完全控制 的權(quán)限

然后在系統(tǒng)服務(wù)中設(shè)置,MYSQL的服務(wù)屬性,在登錄屬性當(dāng)中,選擇此用戶 mysqlstart 然后輸入密碼,確定。

重新啟動 MYSQL服務(wù),然后MYSQL就運行在低權(quán)限下了。

如果是在windos平臺下搭建的apache我們還需要注意一點,apache默認(rèn)運行是system權(quán)限,

這很恐怖,這讓人感覺很不爽.那我們就給apache降降權(quán)限吧。

net user apache fuckmicrosoft /add

net localgroup users apache /del

ok.我們建立了一個不屬于任何組的用戶apche。

我們打開計算機管理器,選服務(wù),點apache服務(wù)的屬性,我們選擇log on,選擇this account,我們填入上面所建立的賬戶和密碼,

重啟apache服務(wù),ok,apache運行在低權(quán)限下了。

實際上我們還可以通過設(shè)置各個文件夾的權(quán)限,來讓apache用戶只能執(zhí)行我們想讓它能干的事情,給每一個目錄建立一個多帶帶能讀寫的用戶。

這也是當(dāng)前很多虛擬主機提供商的流行配置方法哦,不過這種方法用于防止這里就顯的有點大材小用了。 

2

雖然國內(nèi)很多PHP程序員仍在依靠addslashes防止SQL注入,還是建議大家加強中文防止SQL注入的檢查。addslashes的問題在于黑客可以用0xbf27來代替單引號,而addslashes只是將0xbf27修改為0xbf5c27,成為一個有效的多字節(jié)字符,其中的0xbf5c仍會被看作是單引號,所以addslashes無法成功攔截。

當(dāng)然addslashes也不是毫無用處,它是用于單字節(jié)字符串的處理,多字節(jié)字符還是用mysql_real_escape_string吧

if (!get_magic_quotes_gpc()) {
 
$lastname = addslashes($_POST[‘lastname’]);
 
} else {
 
$lastname = $_POST[‘lastname’];
 
}
最好對magic_quotes_gpc已經(jīng)開放的情況下,還是對$_POST[’lastname’]進行檢查一下。

再說下mysql_real_escape_string和mysql_escape_string這2個函數(shù)的區(qū)別:

mysql_real_escape_string 必須在(PHP 4 >= 4.3.0, PHP 5)的情況下才能使用。否則只能用 mysql_escape_string ,兩者的區(qū)別是:mysql_real_escape_string 考慮到連接的

當(dāng)前字符集,而mysql_escape_string 不考慮。
總結(jié)一下:

* addslashes() 是強行加;

* mysql_real_escape_string() 會判斷字符集,但是對PHP版本有要求;

* mysql_escape_string不考慮連接的當(dāng)前字符集。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23067.html

相關(guān)文章

  • php操作mysql防止sql注入(合集)

    摘要:參考中如何防止注入?yún)?shù)化查詢?yōu)槭裁茨軌蚍乐棺⑷肷厦嫣峁┑馁Y料比較多,下面根據(jù)自己的理解整理出來。使用的預(yù)處理參數(shù)化查詢可以有效防止注入。我們在上面預(yù)處理參數(shù)化查詢是在中進行防注入操作的,其實也內(nèi)置了一個預(yù)處理的模擬器,叫做。 由于segmentfault在處理特殊字符時也并非完美,所以下面文章中有些符號被轉(zhuǎn)換了,請到本人博客下載原文txt http://www.yunxi365.cn/...

    kviccn 評論0 收藏0
  • PHP中該怎樣防止SQL注入?

    摘要:預(yù)處理語句和參數(shù)分別發(fā)送到數(shù)據(jù)庫服務(wù)器進行解析,參數(shù)將會被當(dāng)作普通字符處理。解析當(dāng)你將語句發(fā)送給數(shù)據(jù)庫服務(wù)器進行預(yù)處理和解析時發(fā)生了什么通過指定占位符一個或者一個上面例子中命名的,告訴數(shù)據(jù)庫引擎你想在哪里進行過濾。 問題描述: 如果用戶輸入的數(shù)據(jù)在未經(jīng)處理的情況下插入到一條SQL查詢語句,那么應(yīng)用將很可能遭受到SQL注入攻擊,正如下面的例子: $unsafe_variable = $_...

    Panda 評論0 收藏0
  • web安全基礎(chǔ)

    摘要:安全基礎(chǔ)常見的安全攻擊手段有很多,比如注入,,,頭攻擊,攻擊,重定向攻擊,上傳文件攻擊等,其中大多數(shù)都可以通過三種方法過濾代理轉(zhuǎn)義實體化來解決。個人趨向于安全狗,同時安裝服務(wù)器安全狗和網(wǎng)站安全狗可以有效地防護攻擊。 web安全基礎(chǔ) 常見的web安全攻擊手段有很多,比如SQL注入,XSS,CSRF,HTTP頭攻擊,cookie攻擊,重定向攻擊,上傳文件攻擊等,其中大多數(shù)都可以通過三種方法...

    starsfun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<