首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全的PHP编程所不能做的HTML净化器是什么?

安全的PHP编程所不能做的HTML净化器是什么?
EN

Stack Overflow用户
提问于 2012-01-25 06:43:38
回答 1查看 10.7K关注 0票数 22

我正在研究PHP安全性最佳实践,特别是HTML净化器库。

我喜欢用第三方图书馆来加强我网站的安全,但我对一些事情感到困惑.

  1. 首先,一个一般性的问题..。使用安全PHP编程的HTML净化器能做什么呢?
  2. 如果我使用的是HTML净化器,这是否意味着我可以跳过常用的安全措施,比如使用PHP函数过滤输入和转义输出?
  3. 这个问题的响应注释之一似乎表明,HTML纯净器仅用于允许HTML的元素,如WYSIWYG编辑器。这是正确的吗?
  4. 有人注意到使用HTML纯净器的性能滞后吗?这篇文章使性能影响似乎是值得考虑的。
  5. 有没有最新的教程来集成HTML净化器和一个非框架的PHP应用程序?我发现的一切要么是年长的,要么是具体框架

只是为了确认我在问这个之前做过作业.

  • 这个问题与我的基本相同,但唯一的回应似乎只是列出了另一个最佳实践,而提问者忘记提到这些最佳实践。
  • 这个“丰富”的问题是HTML净化器和HTML5的一个很好的资源,但前提是基础知识。
  • HTML站点上的这个比较页更像是与其他过滤器的比较
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-25 07:32:41

在接受用户的任何输入时,有两个极端:

  1. 不分青红皂白地将所有内容转义到HTML实体,这样用户就不能注入任何内容。这是100%安全的,但允许用户添加任何HTML,例如粗体文本等等。
  2. 输出从用户收到的内容。这允许用户粗体文本,但也可以插入脚本或以用户希望的任何其他形式(有意或无意)与您的HTML混搭。

HTML净化器允许一个中间点:允许用户注入一些HTML,而不是恶意HTML。当然,这是一件很麻烦的事情,但是HTML净化器被认为是少数几个库之一,如果不是唯一的话,它是正确的。

这是唯一应该用来做的事。不要放弃你的其他安全措施。实际上,我完全避免了整个问题,允许用户只使用受控的标记语言来对输入进行样式化,例如Markdown ( Stackoverflow使用的)。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8998819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档