程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP入門知識 >> PHP教程:Magic quotes

PHP教程:Magic quotes

編輯:PHP入門知識

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

<?php
if (get_magic_quotes_gpc()) {
function stripslashes_deep($value) {
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
GET = array_map('stripslashes_deep',

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
GET);

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
POST = array_map('stripslashes_deep',

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
POST);

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
COOKIE = array_map('stripslashes_deep',

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
COOKIE);

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
REQUEST = array_map('stripslashes_deep',

對於 Magic quotes,對於 PHPer 而言是個老生常談的問題。今天無意間看到篇文章,結合PHP Manual 以及其回復,在這裡做個簡單的匯總。

簡而言之,Magic quotes 開啟後會自動轉義輸入的數據。其中,所有的單引號(')、雙引號(")、反斜線、和 NULL 字符都會被轉義(增加個反斜線),其實這操作本質上調用的是 addslashes 函數。

為什麼使用 Magic quotes

方便快捷

PHP 的設計者在設計之初的構想就是能夠快速方便的編程。例如插入數據庫時,Magic quotes 會自動將數據轉義,這很方便。

對初學者有利

Magic quotes 可以從一定程度上,讓初學者帶離腳本的安全風險。例如在沒有任何保護措施的代碼下,開啟了 Magic quotes 後會少很多的風險,例如注入問題。當然,單一使用此方法,並不能完全阻止此類安全問題。

“我沒有權限去關閉”

很顯然你已經可能意識到了這個問題,但是主機空間並非完全由自己控制。

為什麼不使用 Magic quotes

可移植性

無論此功能是否開啟,它都會影響腳本的可移植性,因為它影響我們後續過濾數據的操作。

性能問題

在獲取所有的外部數據之前都會被轉義,這無疑會增加運行時的花銷(而且並不是所有的數據都需要轉義)。

造成困惑

正如上述所言,並非所有的數據都需要被轉義。有可能出現的一種情況,就是當你為了獲取未被轉義的數據,而“瘋狂的”使用 stripslashes 函數。

PHP6 已經不支持

PHP 的設計者顯然已經意識到了自己的“錯誤”,所以在 PHP6 中已經將其廢棄。

如何禁用 Magic quotes

按照本人觀點,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠譜的。參考下面的代碼

; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of ').
magic_quotes_sybase = Off

然而線上的主機可能無法讓你修改 php.ini 文件,那麼可以使用 .htaccess 文件禁用,加入下面的代碼

php_flag magic_quotes_gpc Off

上述可移植的代碼而言,無論是否禁用 magic_quotes,數據必須保持一致。那麼下面的代碼可以幫助您

___FCKpd___2
REQUEST);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved