Your Title-6ren">
gpt4 book ai didi

php - 如何保护网站免受 xss(跨站脚本攻击)侵害

转载 作者:行者123 更新时间:2023-11-29 12:17:20 24 4
gpt4 key购买 nike

好吧,我已经学习了一些 PHP 并尝试制作一个简单的应用程序,但我不确定我的网页是否安全,不会受到 xss 和其他此类攻击。

我的 PHP 代码

<?php 
$title=$keywords=$description="";
$valid_er="";


if($_SERVER["REQUEST_METHOD"] == "POST"){

if(empty($_POST['title'])){

$valid_er="has-error";
}

else{
$title="&lt;title&gt;".test($_POST["title"])."&lt;title&gt;";
}


$keywords='&lt;meta name="keywords" content="'.test($_POST["keywords"]).'" /&gt;';
$description='&lt;meta name="description" content="'.test($_POST['description']).'" /&gt;';

}

function test($ci){

$ci=htmlentities($ci);
$ci=stripcslashes($ci);
return $ci;
}


?>

和我的 HTML 表单

<form method='post' class='form-group' action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<label> Your Title </label> <input placeholder="Your websites title" type="text" name="title" class='form-control' class='form-group-item'/></br>
<label> Keywords </label> <input placeholder="Your keywords separated by comma " type="text" name="keywords" class='form-control' class='form-group-item'/></br>
<label>Description </label> <textarea placeholder="A nice description about your website;" name="description" class='form-control'></textarea></br>
<input type="submit" class='btn btn-info'>

</form>

我只是想知道我是否容易受到跨站点脚本攻击,因为我不认为只使用

htmlspecialchars()

会保护我。

最佳答案

I just wanted to know am i vulnerable to cross site scripting

不,你不是,只是使用 htmlspecialchars在大多数情况下,将保护您免受 XSS 的侵害(如果您在属性周围使用双引号并遵循我上一段中的规则)。

您不需要使用stripcslashes ,并且您不需要编码自己的 <

但请注意 htmlspecialchars默认情况下不编码单引号 ( ' )。我提到这一点是因为你的form标签,您主要使用单引号,并且只使用双引号来表示操作,这是一个非常好的主意,否则您的代码将容易受到 XSS 的攻击。为了避免这个问题,您可以使用 htmlspecialchars($string, ENT_QUOTES, 'UTF-8'); ,单引号也会被编码。您仍然不能忽略使用任何引号(如果这样做,防止 XSS 会变得更加复杂,因为您需要转义可以打破该上下文的所有字符,其中包括空格, + ,等),但是有了这个,您可以使用双引号或单引号并且安全。

有关更多信息,请查看此网站 XSS prevention (它告诉您这种编码在哪里还不够;您永远不应该将用户输入放在 <script><style> 、HTML 注释、属性名称或标记名称中)。

关于php - 如何保护网站免受 xss(跨站脚本攻击)侵害,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29589289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com