導航:首頁 > 編程語言 > php危險字元

php危險字元

發布時間:2023-09-06 16:48:20

『壹』 php中防止SQL注入,該如何解決


防sql注入的一個簡單方法就是使用框架,一般成熟框架中會集成各種安全措施。

當然也可以自己處理,如果用戶的輸入能直接插入到SQL語句中,那麼這個應用就易收到SQL注入的攻擊。我認為最重要的一點,就是要對數據類型進行檢查和轉義。

php.ini

------------

display_errors 選項,應該設為display_errors = off。這樣 php 腳本出錯之後,不會在 web 頁面輸出錯誤,以免讓攻擊者分析出有作的信息。

打開magic_quotes_gpc來防止SQL注入,magic_quotes_gpc= Off,這個默認是關閉的,如果它打開後將自動把用戶提交對sql的查詢進行轉換,比如把 ' 轉為 '等,對於防止sql注射有重大作用。如果magic_quotes_gpc=Off,則使用addslashes()函數。


mysql 函數

---------------

調用mysql_query 等mysql 函數時,前面應該加上 @,即 @mysql_query(...),這樣 mysql 錯誤不會被輸出。同理以免讓攻擊者分析出有用的信息。另外,有些程序員在做開發時,當mysql_query出錯時,習慣輸出錯誤以及sql 語句。

mysql_real_escape_string -- 轉義 SQL 語句中使用的字元串中的特殊字元,並考慮到連接的當前字元集。


Sql語句

------------

對提交的 sql 語句,進行轉義和類型檢查。如果請求是數值型,那麼調用is_numeric() 判斷是否為數值。如果不是,則返回程序指定的默認值。簡單起見,對於文本串,我將用戶輸入的所有危險字元(包括HTML代碼),全部轉義。由於php 函數addslashes()存在漏洞,我用str_replace()直接替換。get_magic_quotes_gpc()函數是php 的函數,用來判斷magic_quotes_gpc 選項是否打開。


其它

---------

使用預處理語句和參數化查詢(PDO或mysqli)。預處理語句和參數分別發送到資料庫伺服器進行解析,參數將會被當作普通字元處理。這種方式使得攻擊者無法注入惡意的SQL。

閱讀全文

與php危險字元相關的資料

熱點內容
增量方式編程 瀏覽:228
單片機反接為啥會燒壞 瀏覽:944
河北網路伺服器雲伺服器 瀏覽:352
編程序員年薪百萬 瀏覽:998
網通的寬頻玩電信伺服器地址 瀏覽:828
解壓視頻搞笑大全爆笑 瀏覽:614
米兔解壓積木隱藏款金屬 瀏覽:574
window命令行svn 瀏覽:616
8051單片機包含多大的ram 瀏覽:812
man文件linux 瀏覽:283
javaweb實現頁面跳轉 瀏覽:126
命令如什麼 瀏覽:316
centos如何使用ftp伺服器 瀏覽:982
直立車陀螺儀演算法 瀏覽:70
coreldrawpdf下載 瀏覽:896
虛擬主機雲伺服器軟體服務 瀏覽:373
蘋果的怎麼拉安卓的打游戲 瀏覽:415
游戲程序員負責角色 瀏覽:316
於丹pdf 瀏覽:718
反編譯ref 瀏覽:551