假設我想作一個超級簡單的頁面,在PHP訪問限制爲單個用戶。提供的授權用戶知道的目錄和網頁的網址,可能他只是手動通過在地址欄的get
方法的用戶名和密碼(他會知道),並自動檢查其對腳本,其中用戶名和密碼的值將被硬編碼在?該腳本有一個if statement
,如果不是這樣,將不會顯示內容。會有什麼缺陷?簡單的單用戶登錄頁面
的網址
http://example.com/admin.php?user=admin&password=1324
admin.php的
<?php if($_GET['user'] == 'admin' && $_GET['password'] == '1324')){
// display content here
}else{
echo "You're not authorized to visit this page";
} ?>
方案2:在post
方法
到上述場景類似,在這一個授權用戶可以鍵入用戶名,表格中的密碼,將在實際的admin.php
文件中處理。類似的if statement
將使用與$_POST[]
超全局這次檢查輸入。
<?php if($_POST['user'] == 'admin' && $_POST['password'] == '1324'){
// display content here
}else{
echo "You're not authorized to visit this page";
} ?>
關於第二種方法:我只打算讓授權用戶訪問一個頁面。 '$ _SESSION []'在這裏不起作用,因爲每次登錄只發送一次數據(所以如果用戶離開受限制的頁面,他將不得不再次通過表單)。該情景最好被簡化。但是,我甚至不會想到實施這樣的系統。這個問題僅僅出於好奇而出現。 – menislici