我有一個漫畫網站,我想我的上傳圖像路徑到數據庫。管理員登錄和上傳安全
我有一個登錄界面,檢查這樣正確的憑據:
<?php
$username = isset($_POST['username']) ? $_POST['username'] : "";
$password = isset($_POST['pw']) ? $_POST['pw'] : "";
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(verify($username, $password) == 1) {
header("Location: ?action=admin");
}
else {
echo "<center>Incorrect credentials</center>";
}
}
function verify($user, $pw) {
include './scripts/dbconnect.php';
$result = $mysqli->query("SELECT username, password FROM users WHERE username='" . $user . "' AND password='" . $pw . "'");
return $result->num_rows;
}
include 'include/footer.php';
?>
然後將它們記錄在上傳畫面。
不幸的是,所有的用戶所要做的就是猜出我的網址可能是上傳網頁,讓他們可以跳過我的登錄屏幕...
/HTWS /?動作=登錄(只需更換「登錄」與'管理員',你在那裏...)所以,我的第一道防線將不會讓我的上傳頁面名稱如此明顯......但如果用戶仍然猜測它會發生什麼......我可以驗證另一種方式,不會讓他們只是改變了網址?
謝謝!
通常的做法是讓登錄過程創建會話變量,如果未設置,將導致用戶被重定向到登錄頁面。 – SirDarius
你使用mysqli很棒。但是你仍然很容易注射,因爲你只是把輸入權傾倒入它。 –
你可能只需使用'.htauth',除非你有十幾個管理員。是的,並且http://bobby-tables.com/ – mario