我有一个 LAMP(CentOS)“共享”服务器环境,在该环境中我无法完全控制 Apache Web 服务器,只能通过.htaccess
文件部分控制;
我可以通过 SSH 访问该环境并在我的用户分区中使用 Bash。
在那个环境中我有一个 MediaWiki 网站。
MediaWiki 核心包含一些我想要禁用的功能,但不允许这样做(例如,无法禁用编辑摘要框或页脚链接)。
由于我不是 PHP 程序员,并且不想更改 PHP 的大量核心,因此我想以某种方式阻止这些功能被解析到客户端。
通过 CSS 和/或 JavaScript 禁用这些功能不是一个选项,因为用户可以禁用 CSS 和/或 JS,然后使用这些功能
我想防止解析这些功能,而 PHP 文档仍然在类似的场景中执行:在执行任何 PHP 行或例程之前调用某些 PHP 函数(用于处理标记);
然后,根据某种标准(可能是 CSS 类),该函数会过滤掉该行或例程,使其不被执行,因此原本由它解析的 HTML 结构将不会被解析,
但 PHP 7.3.11 没有这样的功能一个函数。
是否有任何调整可以防止使用 Bash 解析待解析的 HTML 元素?
答案1
我不知道为什么您要为此使用 bash 或任何其他类型的 shell 脚本。这不是它的目的。就此而言,即使您使用了某些东西曾是专为 HTML 操作而设计,在 MediaWiki 和用户浏览器之间添加额外的转换层以避免学习少量 PHP 似乎是一个坏主意。
作为替代解决方案,我建议配置 MediaWiki 来直接生成您想要的 HTML。除了大量的配置变量,MediaWiki还允许提供可编程钩子用于修改其操作的许多部分。例如,SkinTemplateOutputPageBeforeExec钩子可用于修改进入 HTML 模板的大部分输入,包括页脚链接。
如果钩子提供的灵活性不足以满足您的要求,另一种选择是制作您自己的 MediaWiki皮肤。这将让您完全替换 HTML 模板并以您想要的方式自定义它。有一个教程制作一个您可能想看一下的新皮肤,但基本上最简单的方法是从克隆现有皮肤(例如示例皮肤教程附带的,或者默认内置的向量皮肤)并调整它,直到它按照您想要的方式工作。