有关URL $ _GET提交中的xss攻击的问题

问题描述 投票:0回答:1

好上周,我遭受了竞争对手论坛的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),...

php xss
1个回答
1
投票

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']):'';

    ?>

您可以根据需要更改正则表达式

© www.soinside.com 2019 - 2024. All rights reserved.