是否可以在数组中包含HTML标记(是否存在黑客攻击的风险)?

ale*_*nco 2 php arrays

我有以下数组:

'tagline_p' => "I'm a <a href='#showcase'>multilingual web</a> developer, designer and translator. I'm here to <a href='#contact'>help you</a> reach a worldwide audience.",
Run Code Online (Sandbox Code Playgroud)

我是否应该逃避数组中的HTML标记以避免对我的网站进行攻击?(如何逃避他们?)

或者可以在数组中包含HTML标记吗?

Ikk*_*kke 8

它成为问题的唯一时间是它包含用户输入.你知道你在阵列中放了什么,并相信它.但是你不知道用户传入了什么,并且不相信.

因此,在这种特殊情况下,不需要转义.但是一旦涉及用户输入,您应该转义输入.

HTML本身并不危险,但HTML用户的类型可以传入,例如允许它们执行Javascript的脚本标记.

加成

请注意,最佳做法是仅在输出时转义而不在输入上转义.输出是数据可以造成损害的地方,所以你想要一直逃脱它.这样,您不必确保所有输入都被转义.

这样,在将数据输出到可能适用不同规则的不同格式时,您就没有问题.您不必使用类似的东西,stripslashes()或者htmlspecialchars_decode()如果您不需要将内容输出为html.