| 关键词: cloudflare 域名 curl 推荐 网站 国内 CURLOPT 服务器 移动 圣何塞 |
黑基小编简语:真墙是指屏蔽国内访问国外违法网站的GFW,假墙是针对托管在国外的服务器利用GFW的设计缺陷而实施的攻击,实质是对GFW的恶意利用,现象是国内的用户无法正常访问网站(国外访问正常),具体原理是恶意份子在墙外架设一台Web服务器(假设IP为:8.8.8.8)主机名设置为被攻击域名,如:www.888.com,然后再墙内随便一台机器修改hosts文件映射8.8.8.8 www.888.com,这样这台机器访问http://www.888.com就跑到了8.8.8.8这台服务器上,然后不停的提交非法关键词,导致www.888.com这个域名被GFW识别为不良访问而重置断开,也就是说国内所有访问www.888.com的都会被中断,此技术并不高明,但却因为巧妙的利用了GFW的无差别阻断缺陷(因为GFW阻断时并不会验证IP和域名的真实关系)造成了防范起来非常不容易,主要方法,一是把网站搬回国内进行备案,第二是不停的更换服务器IP,本文介绍的就是第二种方法。补充一下,至于假墙攻击的目的是什么,当然离不开利益二字,大多数是为了强迫站长挂黄、赌、毒的广告代码。 最近很多站长网站统计收到“烈马”“总裁”之类的恶意勒索,如果不挂他们的广告那么他们就会针对你的域名做出假墙和污染的攻击,目前网站域名污染最好使用dns清洗服务,下面针对假墙的处理方法做下说明并附上cloudflareAPI自动更换IP的php脚本。 网站域名假墙原理 首先要了解到这个假墙到底是什么样子的原理:网站域名假墙的原理是利用国内防火墙,一些不法分子利用低成本不断的用你的站点的域名向国内发送数据包造成防火墙误认为你的违规,造成对服务器IP大概十多分钟的墙(大概就是这么个原理)。 网站域名假墙利用cloudflare处理方法 废话不多说,我们要用到的工具无非就是上Cloudflare,因为这家CDN公司拥有非常多的IP,并且支持api调用切换,现在一些站长用的是Cloudflare 200美金的套餐,加上一个轮训IP的php插件,可以实现IP的启动切换,这样就算他假墙了一个IP,但是你的前端IP已经切换了,所以造成他的假墙无效,今天在群里看到很多人没有这个api的php脚本,现在给大家发出来: cloudflare API自动更换IP的php脚本 <?php /* 这个是php版的代码 要先准备一台一个站群服务器,建议一整个c段253IP以上的服务器 原理是,假墙封ip几个小时,每1分钟换一次解析,轮流使用250多个ip使其超过他封禁时间 用linux定时任务,每一分钟运行此一次:如新建网站,保存此文件名为q.php,网站端口4521,宝塔提交定时url任务 : http://127.0.0.1:4521/q.php*/ $file = './tqdata.txt';// 同目录下新建tqdata.txt文件,里面填个数字 比如 1,用来记录当前使用的$txt = file_get_contents($file);if ($txt == 254) { $txt = 1;} else { $txt += 1;}$myfile = fopen($file, "w");fwrite($myfile, $txt);fclose($myfile); $ips = [];for($i=1; $i <=254; $i++){ $ips[$i] = '123.123.123.' . $i;// 自己的ip} $ip = $ips[$txt]; // 进cf解析页f12,找到那条记录,提交,得到下面的提交地址 xxxx是需要替换成自己的// 第一个XXX是zonesid第二个XXX是域名DNS记录ID$www='https://api.cloudflare.com/client/v4/zones/xxxx/dns_records/xxxx'; $datawww = array( "type"=>"A", "name"=>"www.domain.com", "content"=>$ip, "ttl"=>120, "proxied"=>false); curl_get($www,$datawww); function curl_get($url,$data){$ch = curl_init();$headers = array( 'X-Auth-Email:自己cf的账号', 'X-Auth-Key:自己cf的key', 'Content-Type:application/json');$data = json_encode($data); $ch = curl_init(); //初始化CURL句柄curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URLcurl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //设为TRUE把curl_exec()结果转化为字串,而不是直接输出curl_setopt($ch, CURLOPT_CUSTOMREQUEST,"PUT"); //设置请求方式curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交的字符串curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名$output = curl_exec($ch);curl_close($ch);return json_decode($output,true);}X-Auth-Key 和 zonesid 所在地方:你从cloudflare首页进去,点击自己的域名,右下角就可以看到对应的ID自己对照自己的cloudflare账户修改即可,下面附上一些cloudflare高质量IP段,如果有大牛可以做个更好的插件 CloudFlare优选IP段172.64.32.1/24 (推荐移动,走香港)104.28.14.0/24 (推荐移动,走新加坡)104.23.240.0-104.23.243.254 (推荐联通、移动,线路未知)108.162.236.1/24 (推荐联通,走美国)104.20.157.0/24 (推荐联通,走日本)104.16.160.1/24 (推荐电信,走洛杉矶)172.64.0.0/24 (推荐电信,走旧金山)172.64.32.* (走欧洲)CloudFlare的百度云合作IP段 162.159.208.4-162.159.208.103162.159.209.4-162.159.209.103162.159.210.4-162.159.210.103162.159.211.4-162.159.211.103162.159.211.4-103103.21.244.0/22103.22.200.0/22103.31.4.0/22104.16.0.0/12108.162.192.0/18131.0.72.0/22141.101.64.0/18162.158.0.0/15172.64.0.0/13173.245.48.0/20188.114.96.0/20190.93.240.0/20197.234.240.0/22198.41.128.0/17网友收集的CloudFlare国内线路友好IP段108.162.236.1/24 联通 走美国172.64.32.1/24 移动 走香港104.16.160.1/24 电信 走美国洛杉矶172.64.0.0/24 电信 美国旧金山104.20.157.0/24 联通 走日本104.28.14.0/24 移动 走新加坡网友关于各线路推荐列表:电信:推荐走圣何塞,例:104.16.160.* 或者上面的百度云合作 IP移动:推荐走移动香港,例:172.64.32.* 141.101.115.* 或者 104.23.240.0-104.23.243.254联通:没发布什么好线路,可走圣何塞。例:104.16.160.* 或者 104.23.240.0-104.23.243.254 。也可以试一下走亚特兰大 108.162.236.*防止被CloudFlare封域名自定义CloudFlare的节点IP,有几率被CloudFlare封掉,不过也很容易解决,我们也可以利用DNS智能解析,将默认/国外按照CloudFlare给的CNAME记录 使用CNAME解析,然后国内我们就按照三网智能解析自定义IP ,这样就可以防止被CloudFlare封域名啦。好了这个就是目前市面上的域名被假墙的主流处理方法! |
| 本文出处: https://blog.csdn.net/mxflxx/article/details/121141908?spm=1001.2101.3001.6650.7 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|