我正在創建一個敏感頁面,其他用戶無需訪問管理員即可訪問該頁面。但是,當我試圖訪問該頁面而不是管理它的作品!未能通過功能驗證管理員權限
所有用戶都不是管理員,所以他們不應該能夠訪問它。
但頁面加載罰款對他們(非管理員)。
PHP代碼:
function isAdmin(){
$admin = mysql_query("SELECT `admin` FROM `users` WHERE `username` = '".$_SESSION['username']."'");
if(!($admin)){
echo 'You are not authorised';
return false;
}else{
return true;
}
}
敏感的頁面上的代碼:
if(isAdmin()){
$name = $_POST['name'];
$description = $_POST['description'];
$image = $_POST['image'];
$amount = $_POST['amount'];
$sql = "INSERT INTO `store`(`name`, `description`, `price`, `image`) VALUES ('$name','$description','$amount','$image')";
mysql_query($sql);
echo 'Done!';
}
當我發佈數據這一頁,它加載和呼應Done!
,但它不應該因爲:
- 當前用戶不是管理員
- S O,
isAdmin()
返回false - 然後
if(isAdmin())
接收false
- 所以
if
聲明不應該執行。
是的,我有這些:
- MySQL連接 與正確
- 正確配置我的我的
users
表 - 列
admin
在我的MySQLusers
表 - PHP服務器
int
php.ini
謝謝!它的工作 – 2014-10-11 04:37:22
我不會忘記! :) – 2014-10-11 04:38:52