PHP预防xss

2023-12-23

Is htmlentitiesPHP 中防止 XSS 的最佳解决方案?我也想允许简单的标签,比如b, i, a and img。实现这一点的最佳解决方案是什么?我确实考虑过 bbcode 但发现如果没有正确实现我也会遇到 XSS 问题。我应该怎么办?欢迎任何好的第三方库。

EDIT:

我刚刚尝试了 HTML Purifier,但在这种情况下失败了。


为此,我会选择HTML 净化器 http://htmlpurifier.org/,是的,您也可以在那里指定白名单标签。

HTML Purifier 是一个符合标准的 用 PHP 编写的 HTML 过滤器库。 HTML Purifier 不仅会删除所有恶意代码(更广为人知的名称是 XSS)经过彻底审核,
安全但宽松的白名单
, 它 还将确保您的文件 符合标准,仅此而已 可以通过全面的 了解 W3C 规范。

我知道PHP中有一些函数language为此,但我更喜欢专用的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP预防xss 的相关文章

随机推荐

  • 如何从 woocommerce 中的 id 产品获取类别名称

    我正在使用 woo commerce 创建一个电子商务网站 我正在努力编写一个代码 如何在 woocommerce 中使用类别 id 显示产品的类别名称 在 WordPress 中 很容易通过 id 显示类别名称 get the categ
  • Python 中的 Github 风味 Markdown

    有谁知道可行的 Python GFM 实现吗 目前我正在使用JavaScript 渲染器 http www freedomsponsors org core issue 1 allow formatting controls on comm
  • 使 QTreeWidgetItem 在兄弟姐妹中独一无二

    有什么方法可以确保更新现有的QTreeWidgetItem或者插入一个新项目可确保该项目根据单列的值在其同级项目中是唯一的 我尝试过做这样的事情QTreeView和我自己的自定义模型 并已使其正常工作 但一些高级功能 例如通过拖放移动项目
  • 可选 isPresent 与 orElse(null)

    我正在将项目中的依赖项更新到 Spring 5 并受到编译错误的轰炸 其中方法定义findOne 已被替换为findById 现在返回一个Optional 如果我错了请纠正我 在重构时 我遇到了多种可以选择采用的方法 因此我希望获得一些关于
  • 如何将图像和文本添加到 QLabel

    我有一个带有 QLabel 的 QHBoxLayout 我试图在 QLabel 中获取图标和窗口标题文本 那可能吗 或者甚至将图标直接添加到 QHBoxLayout 以便放置在窗口标题文本之前 这是我的代码 class MyBar QWid
  • 如何将参数从 CDI 中的另一个类传递给注入的类?

    我是 CDI 新手 试图找到这个问题的解决方案 但是找不到任何解决方案 问题是假设我有一个正在注入的类 A 其中注入了一些值 toPass 现在我想将这个相同的值 toPass 传递给B类 B类是从A类注入的 public class A
  • 将索引(数字 ID)列添加到大型数据框[重复]

    这个问题在这里已经有答案了 我将大型 csv 文件读取到数据框中 csv 文件中的数据来自多个表示用户信息的网站 例如 这里是数据帧的结构 user id number of logins number of images web 001
  • 遇到 java.net.BindException:服务器客户端套接字应用程序上的地址已在使用(绑定失败)

    我在服务器客户端套接字应用程序上遇到 java net BindException 地址已在使用 绑定失败 我正在尝试使用 Youtube 教程作为参考来了解 Java 套接字 我的代码似乎与视频中的所有内容匹配 变量名称除外 但是 当尝试
  • 创建和更新 Zend_Search_Lucene 索引

    我正在使用 Zend Search Lucene 创建文章索引 以便可以在我的网站上搜索它们 每当管理员在管理区域中更新 创建 删除文章时 都会重建索引 config Zend Registry get config cache confi
  • 比较 Python 类型的类型

    我有一个函数接受另一个用类型提示注释的 Python 函数 annotations 我想使用这些提示在运行时进行一些类型检查 问题是来自输入模块的类型类似乎不太容易使用 没有 isinstance 没有 issubclass 所以 我想知道
  • backbone.js:调用 collection.reset() 是否也会删除模型?

    我在主干文档中读到调用collection reset 清除集合 我想知道它是否也会删除模型 或者它们是否继续存在于内存中 如果没有删除它们 是否有一种更简单的方法可以删除集合中的所有模型 而无需迭代模型并调用model remove 你可
  • Powershell 脚本可以在 Powershell 中运行,但不能在 VB.Net 中运行

    我有一个简单的 powershell 脚本来启用 Exchange 中名为 test ps1 的邮箱 这是脚本 添加 pssnapin microsoft exchange management powershell admin 启用邮箱
  • Typescript 的代码覆盖率 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们刚刚在 Typescript 中启动了一个项目 我们需要获取代码覆盖率数据 我们现有的 JavaS
  • 成功的 MySQL DELETE 返回什么?如何检查DELETE是否成功?

    使用 PHP 我尝试删除一条记录 但我想检查它是否成功 成功后是否返回任何内容DELETE FROM foo where bar stuff 或者 您知道其他方法来检查删除是否成功吗 或者我最好在删除它之前确保该行存在 如果可能的话 我试图
  • Kendo Grid:当行更改时如何从代码更新数据源

    这是我之前几篇关于更新剑道网格数据源的文章的延续 我想做的最后一件事是当用户转到新行时发生这种情况 感谢 Lars 迄今为止提供的令人印象深刻的帮助 我通过检测行更改 碰巧在指令中执行此操作 并回调网格控制器来执行此操作 在网格控制器中我在
  • WSL2 上的 Ubuntu 18.04:“登录失败:尚未授予用户在此计算机上请求的登录类型。”

    重新启动 Windows 计算机后 我在尝试打开 Ubuntu 18 04 WSL2 实例时收到此错误 Logon failure the user has not been granted the requested logon type
  • MongoDB 投影参数在 findOne() 中不起作用

    我试图在 findOne 上使用投影参数从文档 统计信息 中提取单个字段 但它似乎只是返回整个文档 我在 Node js 中使用版本 mongodb 3 4 1 这是文档结构 id 5e563015fa9a1a0134cac3cb user
  • javascript图形库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个不错的 JavaScript 图形库 它可以处理以下类型的图形 折线图 直方图 散点图 动态图表 我已经尝试过 Google
  • 防止伪元素自行断行

    我有一个链接样式 可以使用以下命令在链接末尾添加 SVG 箭头 after 问题是 当视口改变大小时 有时只有 SVG 会断线 我怎样才能设置它 以便 SVG 总是用最后一个单词来换行 a tag txtbtn font size 1 12
  • PHP预防xss

    Is htmlentitiesPHP 中防止 XSS 的最佳解决方案 我也想允许简单的标签 比如b i a and img 实现这一点的最佳解决方案是什么 我确实考虑过 bbcode 但发现如果没有正确实现我也会遇到 XSS 问题 我应该怎