Skip to content
WONGCW 網誌
  • 首頁
  • 論壇
  • 微博
  • 壁紙下載
  • 免費圖床
  • 視頻下載
  • 聊天室
  • SEO工具
  • 支援中心
  • 表格製作
  • More
    • 在線名片
    • 網頁搜索
    • 天氣預報
    • 二維碼生成器
  • Search Icon

WONGCW 網誌

記錄生活經驗與點滴

【教程分享】宝塔LNMP环境 防CC独家教程

【教程分享】宝塔LNMP环境 防CC独家教程

2018-10-13 Comments 0 Comment

老被cc的福利来了,群里一些朋友天天被攻击,老夫也遭殃,坐不住了,直接上教程。

本教程只防CC攻击,不能防DDOS,防DDOS请麻溜买高防秒解。

实测:1核1G内存撑住700多代理IP持续攻击,屹立不倒,且CPU在45%左右徘徊。

本教程借助根据CPU/内存大小 优化LNMP环境配置,且使用了类似cfCDN的防CC攻击特点并做了一些优化

什么是CC攻击

以为我要跟你讲?自己不会百度搜索

你是否受到了CC攻击

1.网站访问缓慢,报503错误(nginx拒绝连接),502错误(php挂逼)

2.服务器CPU 100%;

基本上确诊被C了。

LNMP环境优化

1.nginx优化:nginx没有过多的优化,一般nginx都死被php拖死的。简称:扶不起来

2.宝塔中nginx的过滤器测试效果并不理想,如果各位不打算回复的话(不打算看接下来的核心内容)可以开启“防CC攻击模块”并设置为频率100,周期60。能有效防止一些恶意访问,比如小学生找不到代理,就几个代理。如果打算支持一下,请直接关掉它。

3.php优化:服务器挂壁基本都是php进程太多导致的了。nginx是个传菜的,php就是真正花时间吃饭的。

羊毛党之家 【教程分享】宝塔LNMP环境 防CC独家教程 https://yangmaodang.org

4.如图:简单理解,最少15个人在厂里,最多50个人同时干活,如果有35个人以上没干活就开除掉。

5.根据CPU核数设定起始进程数和最小空闲,这样可以发挥正常状态的最大优势,加快处理速度 设置为15*核数 ,即1核15进程,双核30进程。

6.根据内存设置最大进程,防止出现内存爆炸,导致fpm挂起或者mysql等其他服务挂逼。设置为1G*(40-50),即1G内存40-50,2G内存80-100。

7.设置上面两项可以更有效率的使用服务器。

8.如上设置并不能防止CC攻击,但是为我接下来需要说的提供了前提。

redis + 验证码 + 策略 防CC

采用redis高性能数据库,合理的访问策略验证并在超大攻击时开启验证码访问。让网站远离CC

1.安装redis,在宝塔软件管理找到,安装;

2.安装php redis扩展,你用哪个php就安装哪个php的扩展,别装错了;

3.在网站入口,如emlog的index.php 头部加入如下代码:

header('Content-Type: text/html; charset=UTF-8'); //emlog原有代码,复制下列代码放在下面
 
//CC攻击停止后会尽快解除验证码,回到正常状态
 
//防CC配置
$IPmax = 30; //开启验证码条件 值>=php最大进程数,适当设置更大会降低验证码触发条件,但会增大502错误几率(php挂起) 
 
$IPfor = 60; //周期 这个值基本不用动
 
$IPban = 60; //扔入黑名单 60秒内访问超过60次即拉黑IP
 
$banTime = 3600*24; //黑名单时长 扔小黑屋时长,这种代理IP放一天感觉都少了 = =!
 
$ip = ip();
 
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
 
//拦截黑名单
if($redis->exists($ip.'ban')){
    exit('您被关进了小黑屋,么么哒!如有疑问,请联系站长');
}
 
//扔黑名单检测
if($redis->get($ip.'ok') >= $IPban){
    $redis->setex($ip.'ban', $banTime, '1');
}
 
if($redis->exists($ip.'ok')){
    $redis->incrby($ip.'ok',1); //记录IP 自增1
}else{
    $redis->setex($ip.'ok',$IPfor,1);
}
 
//按需开启防CC 小黑屋IP不会触发该条件,所以当一段时间以后就会解除验证码。除非攻击者换一批代理继续攻击。如此往复
if(count($redis->keys("*ok")) > $IPmax){
    //验证
    if($_COOKIE['key'] == ''){
        if($_GET['cc']){
            $key = md5($ip.$_GET['cc']);
            setcookie("key",$key);
        }
    }
    //拦截代码
    if($_COOKIE['key'] && $_COOKIE['cc'] && $_COOKIE['key'] == md5($ip.$_COOKIE['cc'])){
        //通过
    }else{
        if($_GET['cc']){
            $key = md5($ip.$_GET['cc']);
            setcookie("key",$key);
        }else{
            $cc = rand(1000,9999);
            setcookie("cc",$cc);
            //这里只是简单的构造了一下验证码,有能力可以自己更改的更安全和完美。
            echo '<!DOCTYPE html>
            <html>
            <body>
            <form action="">请输入:'.$cc.' :<input type="text" name="cc" value=""><input type="submit" value="继续访问"></form> 
            <p>访问异常,请输入验证码。</p>
            </body>
            </html>';
        }
        exit();
    }
}
function ip() {
    if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
        $ip = getenv('HTTP_CLIENT_IP');
    } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
        $ip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
        $ip = getenv('REMOTE_ADDR');
    } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    $res =  preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
    return $res;
}

4.整个教程就完啦~,赶快找个CC软件C自己一波试下吧~

5.有什么不懂的问题提出,我会在回复里给大家统一解释

分享此文:

  • 按一下即可分享至 X(在新視窗中開啟) X
  • 按一下以分享至 Facebook(在新視窗中開啟) Facebook
  • 分享到 WhatsApp(在新視窗中開啟) WhatsApp
  • 按一下以分享到 Telegram(在新視窗中開啟) Telegram
  • 分享到 Pinterest(在新視窗中開啟) Pinterest
  • 分享到 Reddit(在新視窗中開啟) Reddit
  • 按一下即可以電子郵件傳送連結給朋友(在新視窗中開啟) 電子郵件
  • 點這裡列印(在新視窗中開啟) 列印

相關


教學資源

Post navigation

PREVIOUS
D盾网站源码后门木马检测工具
NEXT
ICANN即将为DNS系统更换加密密钥 但只会很轻微影响到你

發表迴響取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料。

More results...

Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt
Filter by 分類
網站公告
Featured
限時免費
Windows 軟件下載
系統軟件
辦公軟件
圖像處理
影音媒體
網絡軟件
應用軟件
Mac 軟件下載
安卓軟件下載
網絡資訊
Mac資訊
Linux資訊
VPS資訊
NASA資訊
WordPress資訊
WeChat資訊
PHP資訊
教學資源
開源程序
網頁工具
SEO工具
醫療健康
其他資訊
Content from
Content to
2018 年 10 月
一 二 三 四 五 六 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 9 月   11 月 »

分類

  • 網站公告
  • 限時免費
  • Windows 軟件下載
  • 系統軟件
  • 辦公軟件
  • 圖像處理
  • 影音媒體
  • 網絡軟件
  • 應用軟件
  • Mac 軟件下載
  • 安卓軟件下載
  • 網絡資訊
  • Mac資訊
  • Linux資訊
  • VPS資訊
  • NASA資訊
  • WordPress資訊
  • WeChat資訊
  • PHP資訊
  • 教學資源
  • 開源程序
  • 網頁工具
  • SEO工具
  • 醫療健康
  • 其他資訊

彙整

近期文章

  • 微軟裁員風暴:軟體工程崗位成重災區AI搶走程式設計師飯碗? 2025-05-15
  • 星巴克據悉已啟動出售龐大中國業務部分股份的進程 2025-05-15
  • 資料外洩後Valve向Steam用戶保證其係統沒有被入侵 2025-05-15
  • 小米盒子5系列今日開賣:299元起支援4K 2025-05-15
  • 假期3天不調休端午假期火車票即將開售 2025-05-15
  • 網友在馬耳他偶遇劉強東夫婦打扮顯眼被認出 2025-05-15
  • 智慧仿生魚已投入長江保護:模仿魚類遊動進行生態資料採集 2025-05-15
  • 華為折疊PC將在5月19日正式發布 2025-05-15
  • 小鵬全新純電轎跑官宣:還叫P7 2025-05-15
  • DeepMind放出新AI大招:竟能自我糾錯但有致命弱點 2025-05-15

熱門文章與頁面︰

  • 您可以在Windows 11 24H2 中找回WordPad
  • NVIDIA對川普的迎合促成了AI技術擴散限制的逆轉以及對華為的進一步壓制
  • 黃仁勳將出席台北電腦展成焦點更多AI合作曝光
  • 假期3天不調休端午假期火車票即將開售
  • Waymo透露第六代無人駕駛計程車細節:成本更低、功能更強
  • 76%美國汽車高層認為中國電動車登陸美國是遲早的事
  • 華為折疊PC將在5月19日正式發布
  • 英偉達CEO黃仁勳:不會使用人工智慧的人將失業
  • 結婚12年後一女子因ChatGPT解讀咖啡渣指控丈夫出軌而提出離婚
  • 巴菲特談卸任CEO:光陰一去不復返但面對市場恐慌時寶刀未老

投遞稿件

歡迎各界人士投遞稿件到admin@wongcw.com

請提供以下資料:

1.你的名字

2.你的電郵

3.分類目錄

4.文章標題

5.文章摘要

6.文章內容

7.文章來源

 

聯繫我們

查詢,投稿,商務合作:
​admin@wongcw.com
​技術支援:
​support@wongcw.com
​客户服務:
​cs@wongcw.com

QQ群:833641851

快帆

MALUS

極度掃描

DMCA.com Protection Status

WONGCW 網誌

  • 免責聲明
  • 捐助我們
  • ThemeNcode PDF Viewer
  • ThemeNcode PDF Viewer SC
  • Events

服務器提供

本站使用之服務器由ikoula提供。

聯繫我們

查詢,投稿,商務合作:
​admin@wongcw.com
​技術支援:
​support@wongcw.com
​客户服務:
​cs@wongcw.com

QQ群:833641851

© 2025   All Rights Reserved.