在开发聊天应用程序时要避免的html危险标签

saj*_*ith 2 html tags

我正在使用PHP和jQuery开发一个聊天应用程序...聊天对发送的所有消息都附加到一个<div>.在这样做时,我发现<script>用户可以输入标签等.在附加用户的消息时我应该避免哪些标签?

use*_*968 7

您永远不应该使用任何黑名单方法(基本上禁止不良项目),因为您总是有可能忘记某些内容,或者黑客会找到绕过您的黑名单的方法(例如,通过使用 unicode)。相反,尝试使用白名单方法,即创建一组可接受的标签并禁止其他所有内容。

  • 好吧,绝对不要在这些答案中将任何内容添加到人们归类为“坏”的白名单中,但就我个人而言,我无法确定哪些标签可以被黑客攻击或滥用。天棚可能并不危险,但可能非常烦人。通常人们甚至不使用 HTML 标签,而是创建自己的标签(例如 Stack Overflow 本身 ​​- *、** 等) (2认同)
  • 更不用说可接受的属性了——“onmouseover”,有人吗?还有 `&lt;a href="javascript:` 和 `&lt;img src="javascript:` (在非常旧的浏览器上,最后一个)。还有“&lt;!--”消息后跟“--&gt;”(反之亦然),这些消息会清空页面的整个部分。“style”属性可能也不好允许。当然,不要放入任何与形式相关的内容。 (2认同)

小智 6

避免将内容注入页面的标记:

  • 小程序
  • 脚本
  • 样式
  • 链接
  • IFRAME

其他标签也可能需要删除.也许你不想嵌入图像.这些是您需要确定的事项.至少,允许<p><br />.