我還有一個關於網絡編程的問題。爲什麼我每次都收到錯誤消息,我已經發送了標題
我編寫了一個登錄腳本,但每當我嘗試登錄它時說我已經發送了標題信息。
這裏有2個文件:
<?php
if($_GET['logout'] == 1) {
setcookie('authorized', 1, time()-3600);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Login - photoAdminSite</title>
</head>
<style type="text/css">
body {
text-align: center;
font-family: helvetica;
}
#loginForm {
padding: 1em;
background: #e3e3e3;
width: 260px;
margin: 3em auto 0;
text-align: left;
}
</style>
<body>
<div id="loginForm">
<form method="post" action="confirm_login_credentials.php">
<h2>LOGIN</h2>
<p>Username: <input type="text" name="username" /></p>
<p>Password: <input type="password" name="password" /></p>
<p><input type="submit" value="Login" name="submit" /></p>
</form>
</div>
</body>
</html>
<?php
$username = $_POST['username'];
$password = $_POST['password'];
require 'database.php';
$q = "SELECT id FROM users_photoadminsite WHERE user_name = '$username' AND password = '$password'";
$result = $mysqli->query($q) or die(mysqli_error());
if (mysqli_num_rows($result) == 1) {
setcookie('authorized', 1, 0);
header("Location: index.php");
} else {
header("Location: login.php");
}
?>
我會很高興的事情了一些有用的答案。
我希望沒有人選擇用戶名:'; DROP TABLE users_photoadminsite; - ''! – 2010-05-10 17:21:29
我應該如何阻止有人可以'; DROP TABLE users_photoadminsite; - '?? – mikepenz 2010-05-10 17:24:09
您的身份驗證方案根本不安全,您應該存儲用戶名和密碼或某種類型令牌的散列,並在每個請求上進行驗證。 – mmattax 2010-05-10 20:45:02