《PHP應用:PHP防止注入攻擊實例分析》要點:
本文介紹了PHP應用:PHP防止注入攻擊實例分析,希望對您有用。如果有疑問,可以聯系我們。
PHP實例本文以實例形式詳細分析了PHP防止注入攻擊的辦法.分享給大家供大家參考.具體分析如下:
PHP實例PHP addslashes() 函數--單撇號加斜線轉義
PHP實例PHP String 函數
PHP實例定義和用法
PHP實例addslashes() 函數在指定的預定義字符前添加反斜杠.
這些預定義字符是:
?單引號 (')
?雙引號 (")
?反斜杠 (\)
?NULL
語法:
PHP實例addslashes(string)
參數 | ?描述 |
string | 必需.規定要檢查的字符串. |
PHP實例提示和注釋
PHP實例提示:該函數可用于為存儲在數據庫中的字符串以及數據庫查詢語句準備合適的字符串.
注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes().不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義.遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測.
PHP實例例子
在本例中,我們要向字符串中的預定義字符添加反斜杠:
PHP實例get_magic_quotes_gpc函數
PHP實例get_magic_quotes_gpc:
取得 PHP 環境變數 magic_quotes_gpc 的值.
語法: long get_magic_quotes_gpc(void);
傳回值: 長整數
函式種類: PHP 系統功能
PHP實例內容說明:
?
本函式取得 PHP 環境設定的變數 magic_quotes_gpc (GPC, Get/Post/Cookie) 值.傳回 0 表示關閉本功能;傳回 1 表示本功能開啟.當 magic_quotes_gpc 開啟時,所有的 ' (單引號), " (雙引號), \ (反斜線) and 空字符會自動轉為含有反斜線的溢出字符.
PHP實例addslashes -- 使用反斜線引用字符串
PHP實例描述:
PHP實例string addslashes ( string str)
返回字符串,該字符串為了數據庫查詢語句等的需要在某些字符前加上了反斜線.這些字符是單引號(')、雙引號(")、反斜線(\)與 NUL(NULL 字符).
PHP實例一個使用 addslashes() 的例子是當你要往數據庫中輸入數據時.例如,將名字 O'reilly 插入到數據庫中,這就需要對其進行轉義.大多數據庫使用 \ 作為轉義符:O\'reilly.這樣可以將數據放入數據庫中,而不會插入額外的 \.當 PHP 指令 magic_quotes_sybase 被設置成 on 時,意味著插入 ' 時將使用 ' 進行轉義.
PHP實例默認情況下,PHP 指令 magic_quotes_gpc 為 on,它主要是對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes().不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義.遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測.
PHP實例例子 1. addslashes() 示例
PHP實例對于 php.ini 中的 magic_quotes_gpc,是設置為 off 還是為 on 呢?
PHP實例個人觀點,應該設置為 on
PHP實例總結如下:
PHP實例1. 對于magic_quotes_gpc=on的情況,
PHP實例我們可以不對輸入和輸出數據庫的字符串數據作
addslashes()和stripslashes()的操作,數據也會正常顯示.
PHP實例如果此時你對輸入的數據作了addslashes()處理,
那么在輸出的時候就必須使用stripslashes()去掉多余的反斜杠.
PHP實例2. 對于magic_quotes_gpc=off 的情況
PHP實例必須使用addslashes()對輸入數據進行處理,但并不需要使用stripslashes()格式化輸出
因為addslashes()并未將反斜杠一起寫入數據庫,只是贊助mysql完成了sql語句的執行.
PHP實例補充:
PHP實例magic_quotes_gpc 作用范圍是:WEB客戶服務端;作用時間:哀求開始時,例如當腳本運行時.
magic_quotes_runtime 作用范圍:從文件中讀取的數據或執行exec()的結果或是從SQL查詢中得到的;作用時間:每次當腳本訪問運行狀態中產生的數據
?
代碼:
PHP實例希望本文所述對大家的PHP程序設計有所贊助.
《PHP應用:PHP防止注入攻擊實例分析》是否對您有啟發,歡迎查看更多與《PHP應用:PHP防止注入攻擊實例分析》相關教程,學精學透。維易PHP學院為您提供精彩教程。