Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 避免在<;上使用htmlspecialchars();img>;在动态内容上,同时避免XSS攻击_Php_Image_Xss_Htmlspecialchars - Fatal编程技术网

Php 避免在<;上使用htmlspecialchars();img>;在动态内容上,同时避免XSS攻击

Php 避免在<;上使用htmlspecialchars();img>;在动态内容上,同时避免XSS攻击,php,image,xss,htmlspecialchars,Php,Image,Xss,Htmlspecialchars,我需要你帮我解决一个非常简单的问题。我网站上一些页面的文章内容存储在MySQL数据库中,我在输出到浏览器时对其应用了htmlspecialchars(),但实际上有合法的,它们被呈现为纯文本,同时它们应该是文章内容的有效图像部分 如何才能成功显示图像,同时避免可能的XSS攻击等 谢谢常用的方法是不使用HTML,而是使用您自己的格式语言,如bbcode或Markdown。通过这种方式,您可以轻松地将格式转换为HTML,同时避免让用户输入他们想要的任何HTML。根据,并放弃您不想保留的任何元素/属性

我需要你帮我解决一个非常简单的问题。我网站上一些页面的文章内容存储在MySQL数据库中,我在输出到浏览器时对其应用了htmlspecialchars(),但实际上有合法的
,它们被呈现为纯文本,同时它们应该是文章内容的有效图像部分

如何才能成功显示图像,同时避免可能的XSS攻击等


谢谢

常用的方法是不使用HTML,而是使用您自己的格式语言,如bbcode或Markdown。通过这种方式,您可以轻松地将格式转换为HTML,同时避免让用户输入他们想要的任何HTML。

根据,并放弃您不想保留的任何元素/属性/属性值。检查每个
img
元素的
src
值以查看它是否是有效的URL,如果是,则检查它是否确实存在并且是有效的图像。如果不是,则丢弃该元素

如果您使用专有格式语言(如BBCode或Markdown),您仍应根据为每个
img
元素提供的值执行检查(许多解析BBCode、Markdown等的库将为您执行这些检查)。

使用-它将删除所有脚本,包括放置在标记属性中的javascript,同时保留(以及良好的格式)HTML代码