這個登錄函數是否安全,我把url數據直接放入函數中,但這會不安全嗎?這是否可以注入,我知道它沒有SQL,但它是否可敬?此登錄功能是否安全?
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$login = check_login($_POST['emailusername'], $_POST['password']);
if ($login) {
// Registration Success
header("location: /");
} else {
// Registration Failed
echo 'Username/password wrong';
}
}
功能:
// CHECK LOGIN SCRIPT
function check_login($emailusername, $password)
{
$host = 'localhost';
$port = 3306; // This is the default port for MySQL
$database = 'example';
$username1 = 'root';
$password1 = 'root';
$dsn = "mysql:host=$host;port=$port;dbname=$database";
$db = new PDO($dsn, $username1, $password1);
$password = md5($password);
$statement = $db->prepare('SELECT uid FROM users WHERE (email = ? or username = ?) and password = ?');
$statement->execute(array($emailusername, $emailusername, $password));
if ($result = $statement->fetchObject()) {
$_SESSION['login'] = true;
$_SESSION['uid'] = $result->uid;
return TRUE;
}else{
return FALSE;
} }
取決於你的'check_login'函數。你能粘貼它嗎? – Nemoden
抱歉,忘記了您可能需要編輯它。 –
@Joshua Davis:只要您繼續使用PDO,不用擔心SQL注入。 – Shef