如何使我的搜索引擎安全?

How to make my search engine safe?

我一直在为我的网站制作一个搜索引擎,刚刚完成我正在使用 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

首先,您需要使用 https 来确保您通过使用防火墙和其他必需的安全工具来保护用户免受黑客攻击。

其次,您需要使用 htaccess 更改扩展名,例如显示用户 .html 而不是 .php

第三,加密值而不是纯文本。

还有很多问题需要处理,但太复杂和广泛了。