前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >typecho引入php五秒盾,实现自由配置

typecho引入php五秒盾,实现自由配置

作者头像
用户7146828
发布2021-08-09 16:22:10
6250
发布2021-08-09 16:22:10
举报
文章被收录于专栏:旧云博客旧云博客

直接开启了cc五秒盾的效果,所有未cookies验证的用户全部被拦截了,很影响用户的体验。实际上typecho是可以实现控制的,比如在模板设置里增加对cc五秒盾的开关,我看wordpress很早就有了相关的支持,然而除了我们这些个开发模板的之外,对于新手而言是完全不知道怎么做的,所以有必要写一篇文章来水一水。原本的策略只有cookies验证拦截,出现五秒盾,我在此基础上增加了对访问频率的识别跳转。所以现在的功能是,对访客的访问频率会先一步判断,根据用户自定义的范围,将频率过高的访客跳转向127.0.0.1,而没有达到频率的访客则会进行cookies验证,这样更大程序的对恶意流量攻击进行拦截,并且有效缓解了服务器的压力。 这样,还可以一定程度上拦截,攻击者伪装成的搜索引擎蜘蛛。 我建议的是,在没有被攻击的情况下,为了用户体验和搜索引擎的抓取,不要进行开启。同时服务器如果是linux的话,配合cckiller脚本两个一起,效果会更好。 废话不多说,教程开始: 1.下载我整理好的zip文件,解压后将里面的cc.php扔到typecho的模板目录。 2.修改模板的function.php,在themeConfig方法内,增加如下代码。

代码语言:javascript
复制
$CC= new Typecho_Widget_Helper_Form_Element_Radio('CC',array('1' => _t('关闭五秒盾'),'2' => _t('开启五秒盾')),'1',_t('PHP五秒盾'),_t("开启后对恶意访客进行拦截,在遭受流量攻击后有一定的防御效果,为了用户体验正常情况请关闭。"));
$form->addInput($CC);

到这一步,点击设置外观,就可以看到控制选项了。

Snap.jpg
Snap.jpg

3.修改模板的header.php,在顶部的第二行添加如下代码。

代码语言:javascript
复制
<?php if ($this->options->CC == '2'): ?>
<?php include 'cc.php'; ?>
<?php endif; ?>

在第二步中,模板实现控制后,就可以保存$CC这个php字段的值,所以前台就能将这个值拿出来,进行判断是否引入cc.php,就这样实现了开关控制。

1.png
1.png

以上就是typecho使用cc五秒盾的过程,但是值得注意的是,应对cc攻击最好的办法仍然是一台性能吊的服务器,配套极强的内部安全策略,我这里提供的办法仅仅可以拦截小程度的攻击,而且仍然需要手动开启,所以一般是被打了之后才能去开,造成了许多的麻烦。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021年05月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档