替代htmlspecialchars而不丢失html标签?
例如:
<?php
$getNames = $odb -> query("SELECT * FROM `ad`");
while($Names = $getNames -> fetch(PDO::FETCH_ASSOC)) {
echo '<div class="card-box">'.$Names['ads'].'';
echo '<center>'.$Names['endorse'].'</center></div>';
}
?>
但是htmlspecialchars
剥离了标签,因此输出如下。
<p style="text-align: center;"><strong>testttttttttttttttttttttttttttttt</strong></p>
如何在不丢失标签的情况下保护我的PHP代码?
答案 0 :(得分:0)
PHP具有针对跨站点脚本(XSS)攻击的htmlspecialchars()
,htmlentities()
和strip_tags()
等功能。选择功能取决于应用情况。您应该使用一个或另一个用户提交的内容来防止XSS攻击,即在插入数据库之前。
您应该注意与XSS不同的SQL注入攻击。使用预准备语句是针对SQL注入攻击的最佳解决方案。