📢 重要通知 🚀

网站重新整理了一下,清除了沉余数据,目前开放免费任何资源下载 🙂. 网站等待xenforo 2.4 大更新版本后再花精力设计网站.

[MMO] Hide Bb-Code Content System

[MMO] Hide Bb-Code Content System 2.3.3

没有下载权限
  • 修复选中时的空行问题
  • 修复self-xss
  • 修复ErrorException: [E_DEPRECATED] preg_match(): 将null传递给string类型的参数 #2 ($ subject) 在src/addons/MMO/Hide/BbCode/Tag/Hide.php在直线上34
更改日志

添加支持数学函数 塞伊尔和地板
修复语法错误
重构加载项
更改权限组以忽略所有内容
现在,对于特定的论坛节点,您可以选择权限或组以忽略论坛节点
中的选项 如果用户现在只是某个节点的版主,并且他有权编辑或删除消息, 那么现在他不会在其他节点
中看到隐藏 删除重复代码 重命名权限
模态窗口中反应或组的 bb 代码现在再次显示在 2 列
中 在加载项的新安装中,默认情况下将启用使用该标记的权限
使用数据容器对象隐藏标记
更新代码
事件
中的回调添加新选项:隐藏过期启用。此设置允许您指定隐藏"过期"并可供所有用户使用的时间。忽略标签:"俱乐部"、"组"、"用户"、"用户ID"、"用户exc"、"usersidexc"
将来,可以添加设置权限以在节点中使用标记的功能

[发行说明

添加支持数学函数 塞伊尔和地板
修复语法错误
重构加载项
更改权限组以忽略所有内容
现在,对于特定的论坛节点,您可以选择权限或组以忽略论坛节点
中的选项 如果用户现在只是某个节点的版主,并且他有权编辑或删除消息, 那么现在他不会在其他节点
中看到隐藏 删除重复代码 重命名权限
模态窗口中反应或组的 bb 代码现在再次显示在 2 列
中 在加载项的新安装中,默认情况下将启用使用该标记的权限
使用数据容器对象隐藏标记
更新代码
事件
中的回调添加新选项:隐藏过期启用。此设置允许您指定隐藏"过期"并可供所有用户使用的时间。忽略标签:"俱乐部"、"组"、"用户"、"用户ID"、"用户exc"、"usersidexc"
将来,可以添加设置权限以在节点中使用标记的功能
最低版本核心库 2.2.5
删除选项:"隐藏标签将用作回复标签"在 2.2.0
中添加 添加新选项以将隐藏标签与另一个
完全重新设计的隐藏标签相匹配。现在,如果用户为以 () 开头和结尾的标记指定选项。例如 [HIDE=(option)],现在将处理条件。如果用户未指定选项并且标签与其他标签不匹配,则它将像以前一样输出给注册用户。
标签 [隐藏] 用于隐藏内容。如果指定了 [HIDE=(条件)],则该条件将应用于隐藏内容。注: 在 = 符号之后,必须将条件括在括号中,以指示条件处理的开始和结束。在内部,您可以使用任何条件分组。
允许的表达式(标记):
  • 帖子:用户帖子数。
  • 喜欢:用户反应计数。
  • 反应:用户反应计数(与赞相同)。
  • 奖杯:用户奖杯的数量。
  • 天数:自用户注册以来的天数。
  • isMemberOf(id):用户组,对于多个组,您可以使用逗号分隔的值。
  • 用户名:用户的用户名。
  • user_id:用户的标识符。
  • user_state:用户的状态。
  • is_staff:指示用户是否为工作人员的标志。
  • is_admin:指示用户是否为管理员的标志。
  • is_moderator:指示用户是否为审阅人的标志。
允许的运算符:
  • 算术运算符:算术运算符用于执行数学计算:
    • +
    • -
    • *
    • /
    • %(模量)
    • **(幂)
  • 比较运算符:比较运算符用于比较值并返回布尔结果:
    • ==(等于)
    • === (严格等于)
    • != (不等于)
    • !== (严格不等于)
    • <(小于)
    • >(大于)
    • <=(小于或等于)
    • >=(大于或等于)
  • 逻辑运算符:逻辑运算符用于执行逻辑操作并返回布尔结果:
    • 和或&&(逻辑和)
    • 或或 ||(逻辑或)
    • 不是或!(逻辑上不是)
  • 按位运算符:按位运算符对数字的二进制表示执行:
    • &(按位和)
    • |(按位 OR)
    • ^ (按位异或)
  • 字符串运算符:
    ~ 运算符用于字符串连接:
    • ~ (字符串连接)
  • 数组运算符:数组运算符用于检查数组中的元素成员资格:
    • in(数组中存在的元素)
    • 不在(数组中不存在元素)
  • 数字运算符:
    ..运算符用于创建数字范围:
    • ..(号码范围)
  • 三元运算符:
    ?: 运算符用于在单行中执行条件运算:
    • ?: (三元运算符)
示例:
[隐藏]你好世界![/HIDE] - 只有注册用户才能看到隐藏的文本
[HIDE=(帖子> 1 或喜欢 > 1)]你好世界![/HIDE] - 如果用户帖子数大于 1 或赞数大于 1,将显示隐藏文本"Hello world!"。
[HIDE=(帖子> 1 并喜欢 > 1)]你好世界![/HIDE] - 如果用户帖子数大于 1 且赞数大于 1,将显示隐藏文本"Hello world!"。
[HIDE=(天> 1 或 user_state == "有效")]你好世界![/HIDE] - 如果用户注册后的天数大于 1 或用户状态为"有效",将显示隐藏文本"Hello World!"。
[HIDE=(isMemberOf(2) 或奖杯 >= 0)]你好世界![/HIDE] - 如果用户是组 2 的成员或用户奖杯数量大于或等于 0,将显示隐藏文本"Hello World!"。
[隐藏=(is_staff)]你好世界![/HIDE] - 如果用户是工作人员,将显示隐藏文本"Hello World!"。

安全性以及使用如此广泛的范围的安全性如何?是的,它是完全安全的,对于表达式解释,插件不使用 eval。
从安全角度来看,这很重要,因为使用 eval() 可能会带来风险,尤其是在输入数据未正确验证的情况下。eval() 函数允许执行任意代码,包括潜在的危险操作,并可用于注入恶意代码或执行不需要的操作。
那么如果不使用 eval() 它是如何工作的呢?
传递表达式时,首先将其解析为标识符、运算符、数字和字符串等标记。然后,使用语法和句法规则分析表达式。
分析器构造表示表达式结构的语法树 (AST)。
生成 AST 后,通过遍历 AST 并执行上下文中定义的相应操作和函数来解释表达式。
此方法基于使用上下文解析和解释表达式,提供了表达式的安全执行,因为它不需要使用 eval() 函数,并允许控制可用的操作和函数,从而最大限度地减少潜在的漏洞。
  • 现在,在编辑器中选择文本并选择隐藏会将文本插入到模式中,而无需再次键入
  • 添加用于隐藏的禁用对话框的选项。如果隐藏有选项,则默认情况下,将在编辑器中插入值 1。
  • 添加新权限以忽略标记内容条件(如果按组较少)
  • 添加了一个设置,该设置不允许您在标签中指定大于作者值的值
  • 最小版本 [MMO] 核心库 2.2.4
后退