我在脚本中发现了这两个问题,即SQL注入和跨站点脚本。
SQL注入:
$cate = mysqli_real_escape_string($connection, @$_REQUEST['cat']);
$categ = mysqli_query($connection, "SELECT * FROM articles WHERE category='$cate'");
category='$cate'
是问题所在。
XSS:
echo'<a href="../category/category.php?cat='.$id_c.'&pn=1" class="list-group-item">'.$catego.'</a>';
但是我不明白为什么$cate
错了?
有人提供正确解决方案的示例吗?
谢谢
答案 0 :(得分:0)
您的问题是您将请求中的值直接带到SQL查询。
防止SQL注入的最佳方法是使用准备好的语句。准备好的语句解决了SQL注入问题。您必须
阅读:https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet