摘要:打開(kāi)來(lái)防止注入注入是非常危險(xiǎn)的問(wèn)題,小則網(wǎng)站后臺(tái)被入侵,重則整個(gè)服務(wù)器淪陷,所以一定要小心。雖然國(guó)內(nèi)很多程序員仍在依靠防止注入,還是建議大家加強(qiáng)中文防止注入的檢查。
1.
打開(kāi)magic_quotes_gpc來(lái)防止SQL注入 SQL注入是非常危險(xiǎn)的問(wèn)題,小則網(wǎng)站后臺(tái)被入侵,重則整個(gè)服務(wù)器淪陷, 所以一定要小心。php.ini中有一個(gè)設(shè)置: magic_quotes_gpc = Off 這個(gè)默認(rèn)是關(guān)閉的,如果它打開(kāi)后將自動(dòng)把用戶(hù)提交對(duì)sql的查詢(xún)進(jìn)行轉(zhuǎn)換, 比如把 " 轉(zhuǎn)為 "等,這對(duì)防止sql注射有重大作用。所以我們推薦設(shè)置為: magic_quotes_gpc = On
(10) 錯(cuò)誤信息控制 一般php在沒(méi)有連接到數(shù)據(jù)庫(kù)或者其他情況下會(huì)有提示錯(cuò)誤,一般錯(cuò)誤信息中會(huì)包含php腳本當(dāng) 前的路徑信息或者查詢(xún)的SQL語(yǔ)句等信息,這類(lèi)信息提供給黑客后,是不安全的,所以一般服務(wù)器建議禁止錯(cuò)誤提示: display_errors = Off 如果你卻是是要顯示錯(cuò)誤信息,一定要設(shè)置顯示錯(cuò)誤的級(jí)別,比如只顯示警告以上的信息: error_reporting = E_WARNING & E_ERROR 當(dāng)然,我還是建議關(guān)閉錯(cuò)誤提示。
(11) 錯(cuò)誤日志 建議在關(guān)閉display_errors后能夠把錯(cuò)誤信息記錄下來(lái),便于查找服務(wù)器運(yùn)行的原因: log_errors = On 同時(shí)也要設(shè)置錯(cuò)誤日志存放的目錄,建議根apache的日志存在一起: error_log = D:/usr/local/apache2/logs/php_error.log 注意:給文件必須允許apache用戶(hù)的和組具有寫(xiě)的權(quán)限。 MYSQL的降權(quán)運(yùn)行 新建立一個(gè)用戶(hù)比如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)中,選擇此用戶(hù) mysqlstart 然后輸入密碼,確定。 重新啟動(dòng) MYSQL服務(wù),然后MYSQL就運(yùn)行在低權(quán)限下了。 如果是在windos平臺(tái)下搭建的apache我們還需要注意一點(diǎn),apache默認(rèn)運(yùn)行是system權(quán)限, 這很恐怖,這讓人感覺(jué)很不爽.那我們就給apache降降權(quán)限吧。 net user apache fuckmicrosoft /add net localgroup users apache /del ok.我們建立了一個(gè)不屬于任何組的用戶(hù)apche。 我們打開(kāi)計(jì)算機(jī)管理器,選服務(wù),點(diǎn)apache服務(wù)的屬性,我們選擇log on,選擇this account,我們填入上面所建立的賬戶(hù)和密碼, 重啟apache服務(wù),ok,apache運(yùn)行在低權(quán)限下了。 實(shí)際上我們還可以通過(guò)設(shè)置各個(gè)文件夾的權(quán)限,來(lái)讓apache用戶(hù)只能執(zhí)行我們想讓它能干的事情,給每一個(gè)目錄建立一個(gè)多帶帶能讀寫(xiě)的用戶(hù)。 這也是當(dāng)前很多虛擬主機(jī)提供商的流行配置方法哦,不過(guò)這種方法用于防止這里就顯的有點(diǎn)大材小用了。
2
雖然國(guó)內(nèi)很多PHP程序員仍在依靠addslashes防止SQL注入,還是建議大家加強(qiáng)中文防止SQL注入的檢查。addslashes的問(wèn)題在于黑客可以用0xbf27來(lái)代替單引號(hào),而addslashes只是將0xbf27修改為0xbf5c27,成為一個(gè)有效的多字節(jié)字符,其中的0xbf5c仍會(huì)被看作是單引號(hào),所以addslashes無(wú)法成功攔截。 當(dāng)然addslashes也不是毫無(wú)用處,它是用于單字節(jié)字符串的處理,多字節(jié)字符還是用mysql_real_escape_string吧 if (!get_magic_quotes_gpc()) { $lastname = addslashes($_POST[‘lastname’]); } else { $lastname = $_POST[‘lastname’]; } 最好對(duì)magic_quotes_gpc已經(jīng)開(kāi)放的情況下,還是對(duì)$_POST[’lastname’]進(jìn)行檢查一下。 再說(shuō)下mysql_real_escape_string和mysql_escape_string這2個(gè)函數(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() 是強(qiáng)行加; * mysql_real_escape_string() 會(huì)判斷字符集,但是對(duì)PHP版本有要求; * mysql_escape_string不考慮連接的當(dāng)前字符集。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/23067.html
摘要:參考中如何防止注入?yún)?shù)化查詢(xún)?yōu)槭裁茨軌蚍乐棺⑷肷厦嫣峁┑馁Y料比較多,下面根據(jù)自己的理解整理出來(lái)。使用的預(yù)處理參數(shù)化查詢(xún)可以有效防止注入。我們?cè)谏厦骖A(yù)處理參數(shù)化查詢(xún)是在中進(jìn)行防注入操作的,其實(shí)也內(nèi)置了一個(gè)預(yù)處理的模擬器,叫做。 由于segmentfault在處理特殊字符時(shí)也并非完美,所以下面文章中有些符號(hào)被轉(zhuǎn)換了,請(qǐng)到本人博客下載原文txt http://www.yunxi365.cn/...
摘要:預(yù)處理語(yǔ)句和參數(shù)分別發(fā)送到數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行解析,參數(shù)將會(huì)被當(dāng)作普通字符處理。解析當(dāng)你將語(yǔ)句發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行預(yù)處理和解析時(shí)發(fā)生了什么通過(guò)指定占位符一個(gè)或者一個(gè)上面例子中命名的,告訴數(shù)據(jù)庫(kù)引擎你想在哪里進(jìn)行過(guò)濾。 問(wèn)題描述: 如果用戶(hù)輸入的數(shù)據(jù)在未經(jīng)處理的情況下插入到一條SQL查詢(xún)語(yǔ)句,那么應(yīng)用將很可能遭受到SQL注入攻擊,正如下面的例子: $unsafe_variable = $_...
摘要:安全基礎(chǔ)常見(jiàn)的安全攻擊手段有很多,比如注入,,,頭攻擊,攻擊,重定向攻擊,上傳文件攻擊等,其中大多數(shù)都可以通過(guò)三種方法過(guò)濾代理轉(zhuǎn)義實(shí)體化來(lái)解決。個(gè)人趨向于安全狗,同時(shí)安裝服務(wù)器安全狗和網(wǎng)站安全狗可以有效地防護(hù)攻擊。 web安全基礎(chǔ) 常見(jiàn)的web安全攻擊手段有很多,比如SQL注入,XSS,CSRF,HTTP頭攻擊,cookie攻擊,重定向攻擊,上傳文件攻擊等,其中大多數(shù)都可以通過(guò)三種方法...
閱讀 1958·2023-04-26 00:47
閱讀 1630·2021-11-11 16:55
閱讀 2809·2021-09-27 14:04
閱讀 3639·2021-09-22 15:58
閱讀 3619·2021-07-26 23:38
閱讀 2202·2019-08-30 13:47
閱讀 2046·2019-08-30 13:15
閱讀 1247·2019-08-29 17:09