好上周,我遭受了竞争对手论坛的XSS攻击和SQL注入....
1)我意识到我没有在register.php页面的一个小的ajax函数中使用准备好的语句(我使用PDO),该语句检索用户是否存在...现在已修复,它是user=
“ $用户”`....直接...好。
2)我根本没有使用CSRF令牌,现在我已经将所有使用结构<form></form>
的提交形式的csrf令牌放入了该结构中>
3)我现在用htmlentities()
输出>
4)我验证输入
[我想知道下一个
我需要清理页面网址中使用的每个$ _GET [“”],的分页号码按钮?p=$_GET["page"]
他们没有访问数据库的权限,它们只是用于分页的$_GET
,但是我已经读到,如果我打开了$_GET
并进行了未消毒的操作,那么我可能会受到XSS的攻击...
[为了避免对xss漏洞的过度担忧,或者不希望对这些$_GET
实施卫生处理并不重要,我需要知道,谢谢。
好上周,我遭受了竞争对手论坛的XSS攻击和SQL注入...。1)我意识到我并没有在register.php页面的一个小ajax函数中使用准备好的语句(我使用PDO),...
xss发生在用户尝试在网络上输入“内容”时。我认为您使用的步骤是正确的,但是为了获得更高的安全性,也许您应该使用函数验证每个$ _GET输入,也许像这样]
<?php function xss_clean($inputs = ''){ $regex = "/[^a-zA-Z0-9]/"; $inputs = preg_replace($regex, "", $inputs); return $inputs; } //For Example $some_input = isset($_GET['username'])?xss_clean($_GET['username']):''; ?>
您可以根据需要更改正则表达式