Php 允许用户提供<;iframe>;没有XSS的风险?
我的网站允许写博客,我使用textarea发布博客,我需要允许用户共享youtube视频(我需要允许iframe标记这样做)或使用img标记显示图像,或通过允许a标记使用链接,问题是我需要保护网站免受XXS攻击,这就是为什么我害怕允许这些标签,有什么办法可以做到这一点吗 我可以用这样的东西吗:Php 允许用户提供<;iframe>;没有XSS的风险?,php,xss,Php,Xss,我的网站允许写博客,我使用textarea发布博客,我需要允许用户共享youtube视频(我需要允许iframe标记这样做)或使用img标记显示图像,或通过允许a标记使用链接,问题是我需要保护网站免受XXS攻击,这就是为什么我害怕允许这些标签,有什么办法可以做到这一点吗 我可以用这样的东西吗: <?php $string = "<b>hello world!</b>"; echo "without filtering:".$string; echo
<?php
$string = "<b>hello world!</b>";
echo "without filtering:".$string;
echo "<br>";
$filtered = htmlspecialchars($string); // insert into database filtered
echo "After filtering:".$filtered;
echo "<br>";
$de_filtering = htmlspecialchars_decode($filtered); //retrieve from database and display
echo "After de-filtering:".$de_filtering;
?>
可以这样做吗?我非常推荐使用预构建的。建立自己的系统将是一个漫长的过程,可能会非常麻烦。(在GPL许可证下)是一个非常流行的许可证,也是一个非常流行的许可证(尽管这个许可证需要花钱)。还有很多,但我绝对建议使用现有的,而不是建立自己的
至于防止某些XSS攻击,您可以查看有关XSS的信息。一些好的基本原则是,对一切都进行消毒,并且总是假设有什么东西被劫持了。在验证用户的输入是否符合您的期望之前,不要信任用户的输入。新发布的HTMPrizer 4.4添加了一个功能,可以完全做到这一点 简而言之,您应该允许来自受信任域的iframe。来自不受信任域的iFrame可能包含恶意javascript/flash/embeds