朱纯树博客
VPS测评推荐网站
cloudacead cloudacead

Tejzfd - Typecho 防止被反代插件

前言

前几天写了篇简单防止被镜像(反向代理)的教程
[post]1346[/post]
但是代码简陋,功能不够完善,所以今天就出了这款插件 Tejzfd

插件截图

截图

使用

下载后将文件上传到网站 /usr/plugins/ 目录下,解压并把文件夹名typecho-Tejzfd-master改成Tejzfd
然后到后台启用即可。

插件设置

设置域名白名单:一行一个,不能为空。白名单中存在的域名反代主站时不会执行插件事件
网站协议: 跳转主站域名使用的加密协议
主站域名:如果当前域名不存在白名单中且存在恶意反代情况时,则跳转主站域名

代码 · 下载

<!–TePass start–>

插件代码

<?PHP
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
/**
 * 防止网站被镜像(被别人反向代理)
 * 
 * @package  Tejzfd
 * @author Inkedus
 * @version 1.0.0
 * @link http://zhuchunshu.com
 */
class Tejzfd_Plugin implements Typecho_Plugin_Interface
{
    /**
     * 激活插件方法,如果激活失败,直接抛出异常
     */
    public static function activate()
    {
        Typecho_Plugin::factory('Widget_Archive')->header =  array('Tejzfd_Plugin','render'); 
    }
    
    /**
     * 禁用插件方法,如果禁用失败,直接抛出异常
     */
    public static function deactivate(){
        return _t("禁用成功");
    }
    
    /**
     * 获取插件配置面板
     */
    public static function config(Typecho_Widget_Helper_Form $form)
    {
        /** 分类名称 */
        $domain = new Typecho_Widget_Helper_Form_Element_Textarea('domain', NULL, $_SERVER['HTTP_HOST']."\nwww.".$_SERVER['HTTP_HOST'], _t('域名白名单'),_t('一行一个'));
        $form->addInput($domain);
        $xieyi = new Typecho_Widget_Helper_Form_Element_Select('xieyi',array('http://'=>'http://','https://'=>'https://'),'http://','网站协议','默认:http://');
        $form->addInput($xieyi);
        $tzurl = new Typecho_Widget_Helper_Form_Element_Text('zdomain', null, $_SERVER['HTTP_HOST'] , _t('主站域名'), '如果当前域名不存在白名单中,则跳转主站域名');
        $form->addInput($tzurl);
    }
    
    /**
     * 个人用户的配置面板
     */
    public static function personalConfig(Typecho_Widget_Helper_Form $form){}
    
    /**
     * 插件实现方法
     */
    public static function render()
    {
        $config=Typecho_Widget::widget('Widget_Options');
        $array=explode("\n",$config->plugin('Tejzfd')->domain);
        if (empty($config->plugin('Tejzfd')->domain)) {
            # 如果配置域名为空
            echo <<<HTML
               <script type="text/javascript">
                   alert("插件配置出错,禁止反代插件域名配置不能为空");
               </script>
HTML;
die('插件配置出错,禁止反代插件白名单域名配置不能为空');
        }else{
            # 如果配置域名不为空
            $host=$_SERVER['HTTP_HOST'];
            if (!in_array($host, $array)) {
                # 如果当前域名不存在白名单中
                if ($config->plugin('Tejzfd')->zdomain==$host) {
                    print_r($array);
                }else{
                    header("location:".$config->plugin('Tejzfd')->xieyi.$config->plugin('Tejzfd')->zdomain);
                }
            }else{
                echo <<<HTML
                <script type="text/javascript">
                    console.log('禁止反代插件已启用,当前状态:访问域名在白名单中存在');
                </script>
HTML;
            }
        }
    }
}

<!–TePass end–>

赞(0) 打赏
未经允许不得转载:VPS测评推荐网站 - 朱纯树博客 » Tejzfd - Typecho 防止被反代插件

评论 5

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    Güncel hurda fiyatları ile hurda alan yerler içerisindeyiz. Size en yakın hurdacı firması olarak hizmet sunuyoruz. İstanbul hurdacı firmasıyız. Şimdi telefonumuzu arayın.

  2. #0

    İstanbul Kablo Hurdası Alanlar İstanbul un en iyi hurdacısı ile daha kârlı bir ticaret diliyoruz. Ptt kablo içi deşe hurdaları, hurda telefon kablolar, yağlı içli ptt kablosu hurdası, ptt kabloları satmayı isteyenler şimdi arayın.

    hurdacı numarası1个月前 (01-03)回复
  3. #0

    Esenyurt Esenyurt hurdacı firmasıyız. Esenyurt hurda fiyatları ile yerinden hurda alıyoruz. Nakit ödemeyle hurda alıyoruz..

    en yakın hurdacı2个月前 (12-05)回复
  4. #0

    这个密码也是错的,额

    281985583@qq.com3年前 (2020-07-08)回复
    • 改了,少了一个字母

      朱纯树3年前 (2020-07-08)回复