gpt4 book ai didi

php - HTML Purifier 做了哪些安全 PHP 编程做不到的事情?

转载 作者:IT王子 更新时间:2023-10-28 23:57:57 26 4
gpt4 key购买 nike

我正在研究 PHP 安全最佳实践,特别是 HTML Purifier图书馆。

我喜欢使用第三方库来帮助加强我的网站安全性的想法,但我对一些事情感到困惑...

  1. 首先,一个一般性问题......HTML Purifier 有哪些实践安全 PHP 编程无法做到的?

  2. 如果我使用 HTML Purifier,这是否意味着我可以跳过常见的安全措施,例如使用 PHP 函数过滤输入和转义输出?

  3. this question 的回复评论之一似乎暗示只有允许 HTML 标签的元素才需要 HTML Purifier,例如 WYSIWYG 编辑器。这是正确的吗?

  4. 有没有人注意到使用 HTML Purifier 会导致性能下降? This article使性能影响看起来值得考虑。

  5. 是否有关于将 HTML Purifier 与非框架 PHP 应用程序集成的最新教程?我发现的所有内容都是 oldframework-specific .

只是为了确认我在问这个问题之前已经完成了功课......

  • This question本质上和我的一样,但唯一的回应似乎只是列出了提问者忘记提及的另一个最佳实践

  • This 'bountiful' question是关于 HTML Purifier 和 HTML5 的极好的资源,但需要基础知识

  • comparison page HTML Purifier 网站上更多的是与其他过滤器的比较

最佳答案

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

  1. 不加选择地将所有内容转义为 HTML 实体,因此用户无法注入(inject)任何内容。这是 100% 安全的,但不允许用户自由添加任何 HTML,例如粗体文本等。
  2. 输出您从用户那里收到的内容。这允许用户粗体文本,但也可以有意或无意地以用户希望的任何其他形式注入(inject)脚本或混淆您的 HTML。

HTML Purifier 允许中间立场:允许用户注入(inject)一些 HTML,但不能注入(inject)恶意 HTML。尝试这样做当然是一件麻烦事,但据称 HTML Purifier 是为数不多的几个库之一,即使不是唯一的,也是如此。

这是它应该用于的唯一用途。不要放弃其他安全措施。事实上,我会通过允许用户仅使用受控标记语言来设计他们的输入样式来完全避免整个问题,例如 Markdown(Stackoverflow 使用)。

关于php - HTML Purifier 做了哪些安全 PHP 编程做不到的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8998819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com