Php 避免在<;上使用htmlspecialchars();img>;在动态内容上,同时避免XSS攻击
我需要你帮我解决一个非常简单的问题。我网站上一些页面的文章内容存储在MySQL数据库中,我在输出到浏览器时对其应用了htmlspecialchars(),但实际上有合法的Php 避免在<;上使用htmlspecialchars();img>;在动态内容上,同时避免XSS攻击,php,image,xss,htmlspecialchars,Php,Image,Xss,Htmlspecialchars,我需要你帮我解决一个非常简单的问题。我网站上一些页面的文章内容存储在MySQL数据库中,我在输出到浏览器时对其应用了htmlspecialchars(),但实际上有合法的,它们被呈现为纯文本,同时它们应该是文章内容的有效图像部分 如何才能成功显示图像,同时避免可能的XSS攻击等 谢谢常用的方法是不使用HTML,而是使用您自己的格式语言,如bbcode或Markdown。通过这种方式,您可以轻松地将格式转换为HTML,同时避免让用户输入他们想要的任何HTML。根据,并放弃您不想保留的任何元素/属性
,它们被呈现为纯文本,同时它们应该是文章内容的有效图像部分
如何才能成功显示图像,同时避免可能的XSS攻击等
谢谢常用的方法是不使用HTML,而是使用您自己的格式语言,如bbcode或Markdown。通过这种方式,您可以轻松地将格式转换为HTML,同时避免让用户输入他们想要的任何HTML。根据,并放弃您不想保留的任何元素/属性/属性值。检查每个
img
元素的src
值以查看它是否是有效的URL,如果是,则检查它是否确实存在并且是有效的图像。如果不是,则丢弃该元素
如果您使用专有格式语言(如BBCode或Markdown),您仍应根据为每个img
元素提供的值执行检查(许多解析BBCode、Markdown等的库将为您执行这些检查)。使用-它将删除所有脚本,包括放置在标记属性中的javascript,同时保留(以及良好的格式)HTML代码