Discuz 插件:隐藏网盘分享链接,提高论坛安全性

该插件针对 Discuz 论坛,可以有效隐藏非作者和回复者不可见的网盘分享链接,例如百度网盘、115 网盘、阿里云盘等。该插件可以有效保护分享者隐私,提高论坛安全性。

插件功能

  • 隐藏帖子中包含的百度网盘、115 网盘、阿里云盘链接,仅允许帖子作者和回复者查看。
  • 替换链接为 '网盘分享链接仅楼主和回帖人可见',避免链接泄露。
  • 移除所有 a 标签,确保替换后的文本不再是超链接。

使用方法

  1. 下载插件代码并上传至 Discuz 插件目录。
  2. 进入 Discuz 后台,启用该插件。

代码示例

class plugin_wangpancheck_forum extends plugin_wangpancheck {
    var $thread_author_id;

    function viewthread_postbottom_output() {
        global $_G, $postlist, $bestpost;

        $bestpost['message'] = '';

        foreach ($postlist as &$post) {
            // 如果是主题的第一篇帖子,保存楼主的ID
            if ($post['first']) {
                $this->thread_author_id = $post['authorid'];
            }

            // 判断当前用户是否是帖子回复者或者楼主
            $isAuthorOrThreadAuthor = ($_G['uid'] == $post['authorid']) || ($_G['uid'] == $this->thread_author_id);

            // 如果不是作者或主题作者,则替换含有 'baidu.com', '115.com' 或 'aliyundrive.com' 的整个链接
            if (!$isAuthorOrThreadAuthor) {
                $replace_domains = array('baidu.com', '115.com', 'aliyundrive.com');
                $replace_pattern = '/http[s]?://[^ ]*(' . implode('|', $replace_domains) . ')[^ ]*/i';
                $post['message'] = preg_replace($replace_pattern, '***网盘分享链接仅楼主和回帖人可见***', $post['message']);

                // 移除所有的 a 标签以确保替换后的文本不再是超链接
                $post['message'] = preg_replace('/<a[^>]*>|</a>/i', '', $post['message']);
            }
        }
    }
}

注意事项

  • 该插件仅适用于 Discuz 论坛。
  • 确保插件代码完整,并正确上传到 Discuz 插件目录。
  • 使用前请备份论坛数据,避免意外情况发生。

联系方式

如果您有任何问题,请随时联系我们。

Discuz 插件优化:隐藏网盘分享链接,提高论坛安全性

原文地址: https://www.cveoy.top/t/topic/oYir 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录