首頁 > 後端開發 > php教程 > 分享下PHP register_globals 值為on與off的理解_PHP教程

分享下PHP register_globals 值為on與off的理解_PHP教程

WBOY
發布: 2016-07-21 16:12:57
原創
1294 人瀏覽過

register_globals的值可以設定為:On或Off,我們舉一段程式碼來分別描述它們的不同。

代碼:

複製程式碼 程式碼如下:






當register_globals=Off的時候,下一個程式接收的時候應該用$_GET['user_name']和$_GET['user_pass']來接受傳遞過來的值。 (註:當

的method屬性為post的時候應該用$_POST['user_name']和$_POST['user_pass'])

當register_globals=On的時候,下一個程式可以直接使用$user_name和$user_pass來接受值。

顧名思義,register_globals的意思就是註冊為全域變量,所以當On的時候,傳遞過來的值會被直接的註冊為全域變數直接使用,而Off的時候,我們需要到特定的數組裡去得到它。所以,碰到上邊那些無法得到值的問題的朋友應該先檢查一下你的register_globals的設定和你獲取值的方法是否匹配。 (查看可以用phpinfo()函數或直接查看php.ini)

下面來看看這裡有什麼錯誤?

看看下面的這段PHP腳本,它用來在輸入的用戶名及口令正確時授權訪問一個Web頁面:

複製程式碼 程式碼如下:

// 檢查使用者名稱及口令
if (🎜>if $username == 'kevin' and $password == 'secret')
$authorized = true;
?>


Please enter your username and password:



Username:

Password:






上面的程式碼中存在的問題是你可以很容易地獲得訪問的權力,而不需要提供正確的用戶名和口令。只在要你的瀏覽器的網址列的最後加上?authorized=1。因為PHP會自動地為每一個提交的值建立一個變數-- 不論是來自動一個提交的表單、URL查詢字串還是一個cookie -- 這會將$authorized設定為1,這樣一個未授權的使用者也可以突破安全限制。

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/313566.htmlTechArticleregister_globals的值可以設定為:On或Off,我們舉一段程式來分別描述它們的不同。 代碼: 複製代碼 代碼如下: form name="frmTest" id="frmTest" act...
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板