您好,登錄后才能下訂單哦!
簡單的表單登錄代碼,了解sql注入,禁止單引號還有反斜杠\ # and or order關鍵字的提交
數據庫:
簡單的源碼:
<!DOCTYPE html>
<html>
<head>
<title>后臺表單登錄頁面</title>
<meta charset=UTF-8>
</head>
<body>
<center>
<h4>后臺登錄</h4>
<form action="" method="POST">
帳號:?<input name='username' type='text'><br />
密碼:?<input name='password' type='password'><br />
<input type='submit' value='登錄'>
</form>
</center>
</body>
</html>
<!--前后端都在一個頁面上-->
<?php
//判斷有數據才執行后端代碼,什么都不輸入還是前端登陸界面,防止前端沒有數據,后端驗證老是彈出
if(!empty($_REQUEST)){
//數據不為空和空格,賦值賬號和密碼,都轉化為小寫,兩邊去除空格,否則報錯
$user = ! empty(trim($_REQUEST['username'])) ? trim(strtolower($_REQUEST['username'])) : die("<script>alert('賬號不能為空!')</script>");
$passwd = ! empty(trim($_REQUEST['password'])) ? trim(strtolower($_REQUEST['password'])) : die("<script>alert('密碼不能為空!')</script>");
//禁止輸入單引號
if(stristr($user,'\'') || stristr($passwd,'\'') ){
die("<script>alert('賬號密碼有惡意符號,請重新輸入')</script>");
}
//禁止添加可以sql注入的關鍵詞
if(preg_match_all("/\/|#|and|or|order/",$user) || preg_match_all("/\/|#|and|or|order/",$passwd)){
die ("<script>alert('賬號密碼有非法字符,請重新輸入')</script>");
}
$conn = mysqli_connect('127.0.0.1','root','root','db_form'); //連接數據庫
$sql = "select * from admin where username='$user' and password='$passwd'"; //查詢語句,只要能找到該條記錄,說明匹對正確,判斷為真,登陸成功
$result = mysqli_query($conn,$sql); //取出查詢結果,是個對象
$array = mysqli_fetch_array($result); //把結果對象變為數組取出數據
//var_dump($array);
//通過取數組里的鍵值,得到相應結果
//(能查到對應的用戶名,結果為ture,顯示登陸成功,取不到對應的結果,顯示錯誤)
if($array['username']) {
echo '登陸成功!';
}
else{
echo '賬號密碼錯誤!';
}
$conn->close();//關閉連接
}
?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。