繁体   English   中英

HTML / Javascript:我应该编码,转义或清除用户生成的alt属性字符串( <img/> 标签)?

[英]HTML / Javascript: Should I encode, escape, or sanitize user-generated strings for alt attributes (<img/> tags)?

关于是否需要对用户生成的HTML属性(例如图像的alt属性)进行编码,“转义”或“清理”它们,似乎有许多公认的答案。

我想知道:如果要为img元素呈现用户生成的alt属性,应该如何对它们进行编码(如果有的话),是否应该对它们进行编码和清理? 我应该消毒还是逃脱?

如果我知道任何字符都有可能显示出该用户生成的字符串,然后再将其设置为alt属性,该如何处理?

我正在使用React.js生成标记,其中该用户生成的字符串被用作img标签的alt属性

假设您的意思是:

<img alt={this.props.alt} />

…那么不,你不需要做任何事情。 React在DOM上工作。 您不会生成HTML源代码,因此数据中的特殊字符不能用于通过XSS漏洞注入JavaScript。

需要进行清理,因此显示字符串没有问题。 如果您将alt属性存储在数据库中,那么您绝对应该对字符串进行转义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM