我正在为一个单一的任务创建一个网站..我有一个记住我按钮和所有好东西,但有人查看了我的代码并说SQL
注射可能发生..
什么是最好的行动方案?
我只需要指导:
<?php
include 'functions.php';
if (loggedin())
{
header("Location: index.php");
exit();
}
if (isset($_POST['login']))
{
$username = $_POST['username'];
$password = $_POST['password'];
if (isset($_POST['rememberme']))
{
$rememberme = $_POST['rememberme'];
}
if ($username && $password)
{
$login = mysql_query("SELECT * FROM users WHERE username='$username'");
while($row = mysql_fetch_assoc($login))
{
$db_password = $row['password'];
if($password == $db_password)
{
$loginok = TRUE;
}
else
{
$loginok = FALSE;
}
if ($loginok == TRUE)
{
if($rememberme == "on")
{
setcookie("username", $username, time() + 7200);
}
else
{
if ($rememberme == "")
{
$_SESSION['username'] = $username;
}
}
header("Location: index.php");
exit();
}
答案 0 :(得分:-4)
有一个名为addslashes()的php方法会自动将转义序列添加到应该处理次要SQL注入尝试的任何字符串