我知道很多时候都会问过这类问题。
我的问题是
准备好的语句是否足够智能以防止注入或 我们是否需要使用这些准备好的陈述。
mysqli_real_escape_string ()
htmlentities()
等
我准备的MySQLi声明。
$username = $user['user_name']; // current user session
$user_to = 'admin'; // always admin
$date = date('Y-m-d');
$title = $_POST['title'] ; //user input
$message = $_POST['message']; // user input
$read = "yes"; //user_from read value
$read1 = "no"; //user_to read value
//send message now
$query = "INSERT INTO TABLENAME (user_from, user_to, title, message, date, user_from_read, user_to_read)
VALUES(?, ?, ?,?,?,?,?)";
$statement = $MySQLi_CON->prepare($query);
$statement->bind_param('sssssss', $username, $user_to, $title ,$message,$date,$read,$read1);
if($statement->execute())
{
//echo success
}
else
{
//echo failure
}
2:如何检查用户是否没有尝试通过标题和消息输入来攻击网站。并警告他,他正试图这样做。