首页 > 解决方案 > 保护我的 php 网页免受 xss 攻击

问题描述

我有这段代码,它是一个简单的 html 页面。

<?php


    require_once ("include/config.php");
    require_once($home."include/main_pre_body.php");
    require_once($home."pop-ups/email/email_form.php")

?>

<!DOCTYPE html>
<html>

    <head>
    <meta charset="utf-8" />
        <link rel="stylesheet" type="text/css" href="css/style.css" />
        <link rel="stylesheet" type="text/css" href="css/calendar.css" />
        <link rel="stylesheet" type="text/css" href="css/time.css" />
    </head>

    <Title><?php echo $EMAIL_TITLE_TEXT?></Title>

    <!--    Load Email Form Window  -->
    <body onload="OpenEmailWin()" style="margin:0px;">

<?php

    require_once($home."include/main_post_body.php");

?>

    </body>

</html>

我想防止所有形式的可能的 xss 攻击,我可以识别一些但不是全部。

这是<body onload="OpenEmailWin()" style="margin:0px;">我认为应该修复的第一行。我看过 xss 漏洞,但最让我惊讶的是<它的使用。/>我从这个答案中得到了这个答案https://stackoverflow.com/a/16126384/492293

是否可以使用<并使/>网页容易受到 xss 攻击以及简单页面的哪些其他部分容易受到 posile xss 攻击?

谢谢。

标签: phphtmlxss

解决方案


这两个功能htmlspecialchars()htmlentities()帮助你。在使用 POST 或 GET 获取数据时使用这些函数。如下图所示:

htmlspecialchars($_POST["example"]);
htmlentities($_POST["example"]);

或者

htmlspecialchars($_GET["example"]);
htmlentities($_GET["example"]);

推荐阅读