register_globals 是php.ini 中的一個(gè)配置,該配置直接影響PHP 如何接收和傳遞參數(shù)。如果它被設(shè)置為Off,那么在獲取通過(guò)POST()或者GET()方法傳遞的參數(shù)時(shí),就需要使用$_POST['user_name']或$_GET['user_name']。如果它被設(shè)置為On,那么...
php.ini全局參數(shù)register_globalsy用途
register_globals 是php.ini 中的一個(gè)配置,該配置直接影響PHP 如何接收和傳遞參數(shù)。
如果它被設(shè)置為Off,那么在獲取通過(guò)POST()或者GET()方法傳遞的參數(shù)時(shí),就需要使用$_POST['user_name']或$_GET['user_name']。
如果它被設(shè)置為On,那么就可以直接使用$user_name 來(lái)獲取傳遞的值。
它的設(shè)置不只影響form、url 參數(shù)的傳遞,同時(shí)也影響到了SESSION 和Cookie。同樣,當(dāng)它的值為Off 時(shí),獲取SESSION 和Cookie 的值就需要使用$_SESSION[]和$_COOKIE[];而當(dāng)它的值為On 時(shí),就可以直接通過(guò)變量名稱(chēng)獲取變量傳遞的值。萬(wàn)網(wǎng)空間register_globals 設(shè)置開(kāi)關(guān)如下圖
當(dāng)用戶(hù)遇到獲取不到form 表單中傳遞的值時(shí),可以查看使用的方法是POST 還是GET,并且確認(rèn)使用的變量名稱(chēng)是否正確。另外,可以查看一下php.ini 文件,看register_globals 是開(kāi)啟還是關(guān)閉,確定在獲取參數(shù)值使用的方法有效。
PHP專(zhuān)家小結(jié):
在置PHP 的開(kāi)發(fā)環(huán)境時(shí),將register_globals 設(shè)置為Off,有兩個(gè)好處:第一可以提高代碼的安全性;第二可以提高代碼的可兼容性。
用戶(hù)現(xiàn)在使用的所有PHP 服務(wù)器中,register_globals 都是設(shè)置為Off 的,所以一旦用戶(hù)的程序在開(kāi)發(fā)時(shí)設(shè)置的是On,那么當(dāng)它上傳到服務(wù)器時(shí),就會(huì)出現(xiàn)問(wèn)題。在PHP5 中,用戶(hù)在配置時(shí)還有選擇的余地,可以選擇是On 或Off,但是在PHP6 中這項(xiàng)內(nèi)容已經(jīng)被刪除,所以用戶(hù)必須做到未雨綢繆,養(yǎng)成一個(gè)良好的編程習(xí)慣。
register_globals 是php.ini 中的一個(gè)配置,該配置直接影響PHP 如何接收和傳遞參數(shù)。
如果它被設(shè)置為Off,那么在獲取通過(guò)POST()或者GET()方法傳遞的參數(shù)時(shí),就需要使用$_POST['user_name']或$_GET['user_name']。
如果它被設(shè)置為On,那么就可以直接使用$user_name 來(lái)獲取傳遞的值。
它的設(shè)置不只影響form、url 參數(shù)的傳遞,同時(shí)也影響到了SESSION 和Cookie。同樣,當(dāng)它的值為Off 時(shí),獲取SESSION 和Cookie 的值就需要使用$_SESSION[]和$_COOKIE[];而當(dāng)它的值為On 時(shí),就可以直接通過(guò)變量名稱(chēng)獲取變量傳遞的值。萬(wàn)網(wǎng)空間register_globals 設(shè)置開(kāi)關(guān)如下圖
當(dāng)用戶(hù)遇到獲取不到form 表單中傳遞的值時(shí),可以查看使用的方法是POST 還是GET,并且確認(rèn)使用的變量名稱(chēng)是否正確。另外,可以查看一下php.ini 文件,看register_globals 是開(kāi)啟還是關(guān)閉,確定在獲取參數(shù)值使用的方法有效。
PHP專(zhuān)家小結(jié):
在置PHP 的開(kāi)發(fā)環(huán)境時(shí),將register_globals 設(shè)置為Off,有兩個(gè)好處:第一可以提高代碼的安全性;第二可以提高代碼的可兼容性。
用戶(hù)現(xiàn)在使用的所有PHP 服務(wù)器中,register_globals 都是設(shè)置為Off 的,所以一旦用戶(hù)的程序在開(kāi)發(fā)時(shí)設(shè)置的是On,那么當(dāng)它上傳到服務(wù)器時(shí),就會(huì)出現(xiàn)問(wèn)題。在PHP5 中,用戶(hù)在配置時(shí)還有選擇的余地,可以選擇是On 或Off,但是在PHP6 中這項(xiàng)內(nèi)容已經(jīng)被刪除,所以用戶(hù)必須做到未雨綢繆,養(yǎng)成一個(gè)良好的編程習(xí)慣。