国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:13:34
字體:
來源:轉載
供稿:網友

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

代碼:

復制代碼 代碼如下:


<form action="URL">
<input type="text">
<input type="password">
<input type="submit" value="login">
</form>

當register_globals=Off的時候,下一個程序接收的時候應該用$_GET['user_name']和$_GET['user_pass']來接受傳遞過來的值。(注:當<form>的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頁面:

復制代碼 代碼如下:


<?php
// 檢查用戶名及口令
if ($username == 'kevin' and $password == 'secret')
$authorized = true;
?>
<?php if (!$authorized): ?>
<!-- 未授權的用戶將在這里給予提示 -->
<p>Please enter your username and password:</p>
<form action="<?=$PHP_SELF?>" method="POST">
<p>Username: <input type="text" /><br />
Password: <input type="password" /><br />
<input type="submit" /></p>
</form>
<?php else: ?>
<!-- 有安全要求的HTML內容 -->
<?php endif; ?>

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰兴市| 虞城县| 黑山县| 嘉善县| 凌云县| 台州市| 乃东县| 咸阳市| 准格尔旗| 论坛| 东丽区| 五原县| 五大连池市| 汉寿县| 平凉市| 株洲县| 五莲县| 桦甸市| 华阴市| 汝阳县| 景德镇市| 屏东县| 通许县| 英德市| 班玛县| 台北县| 宁武县| 满洲里市| 厦门市| 英山县| 天门市| 香港 | 漳浦县| 卓尼县| 祁门县| 仲巴县| 洪泽县| 祁阳县| 长沙县| 大余县| 诸城市|