我一直在为我的网站制作一个搜索引擎,刚刚完成它我正在使用ajax请求来搜索数据库,并想知道我如何能够安全地进行任何注射?
Search.ajax.php
<?php
$db = new mysqli('localhost', 'root', 'root', 'social');
$search = $_POST['search'];
$query = mysqli_query($db, 'SELECT * FROM users WHERE username LIKE "'.$search.'"');
if (mysqli_num_rows($query) < 1) {
echo "<b>No results found for <i>".$search."</i></b>";
}else{
while ($r = mysqli_fetch_assoc($query)) {
$user = $r['username'];
echo '<div>Go to <a href="profile.php?user='.$user.'">'.$user.'</p></div>';
}
}
?>
我正在数据库中搜索具有他们在搜索框中放置的用户名的用户。我需要帮助才能做到这一点,所以没有人可以搜索警报(测试);如果他们搜索到这个,它会显示一个警告框,这是一个例子。here is a photo of when someone puts in script tags
答案 0 :(得分:0)
首先,您需要使用https来确保使用防火墙和其他必需的安全工具来保护用户免受黑客攻击。
其次,您需要使用htaccess来更改扩展名,例如show user .html而不是.php
第三,加密值而不是纯文本。
还有很多问题要处理,但它过于复杂和广泛。