首页
wjlink
投稿
视频
直播
壁纸
更多
留言
统计
LINK
Search
1
宝塔面板绑定域名套上cloudflare – 实现cdn访问拯救你的IP
110 阅读
2
Python 爬取YouTube某个频道下的所有视频信息
109 阅读
3
为你的 WordPress 站点配置 Telegram Instant View
63 阅读
4
苹果CMS(MACCMS)如何在标题中随机插入关键词
60 阅读
5
windows 使用 FFmpeg 按大小或时间来批量分割视频
59 阅读
技術類
自媒体
調查
问卷调查
美國站
英國站
注册丨登录
Search
标签搜索
wordpress
V2Ray
vps
苹果cms
面板
php
宝塔
ipfs
DD
脚本
语言
上传
判断
Youtube
cdn
ip
AI
HTML
1
2
Gengre
累计撰写
67
篇文章
累计收到
0
条评论
今日撰写
0
篇文章
️
首页
分类
技術類
自媒体
調查
问卷调查
美國站
英國站
页面
wjlink
投稿
视频
直播
壁纸
留言
统计
LINK
登录丨注册
搜索到
3
篇与
的结果
2023-10-22
NGINX,PHP获取Cloudflare传递的真实访客IP 配合宝塔面板防御CC攻击 防伪造IP 日志记
Cloudflare获取访客真实IP,获取cf传递的真实访客ip,再结合我们的cdn.bnxb.com的批量提交IP给CF的防火墙的功能,可以实现抵御CC攻击的功能,将CC攻击者的连接IP给封杀在CDN阶段,就到不了我们服务器,消耗不了我们的服务器资源那怎么获取CC攻击者的真实IP信息呢(也就是这些CC攻击者连接到CF CDN的IP),其实很简单,CF有将通过他们的CDN访问你网站的访客的真实IP通过HEADER发送到你服务器来,标头是HTTP_CF_CONNECTING_IPNGINX,PHP获取Cloudflare发送的真实访客IP 可用于防御CC攻击 防伪造IP 日志记录真实IP 显示访客真实IP先看看我们通过PHP 得到的CF返回来的HEADER信息<?php print_r($_SERVER); ?>读取到结果如下:Array ( [USER] => www [HOME] => /home/www [HTTP_CF_CONNECTING_IP] => 122.114.6.211 [HTTP_COOKIE] => __cfduid=*****; PHPSESSID=******; PHPSESSID=*****; Hm_lvt_***=****; Hm_lpvt_*****=1536121476 [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.9 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 [HTTP_UPGRADE_INSECURE_REQUESTS] => 1 [HTTP_CF_VISITOR] => {"scheme":"https"} [HTTP_X_FORWARDED_PROTO] => https [HTTP_CF_RAY] => 455d1c72ed0e963d-SJC [HTTP_X_FORWARDED_FOR] => 122.114.6.211 [HTTP_CF_IPCOUNTRY] => CN [HTTP_ACCEPT_ENCODING] => gzip [HTTP_CONNECTION] => Keep-Alive [HTTP_HOST] => cdn.bnxb.com [PATH_INFO] => [REDIRECT_STATUS] => 200 [SERVER_NAME] => cdn.bnxb.com [SERVER_PORT] => 443 [SERVER_ADDR] => * [REMOTE_PORT] => 12554 [REMOTE_ADDR] => 172.68.132.93 [SERVER_SOFTWARE] => nginx/1.14.0 [GATEWAY_INTERFACE] => CGI/1.1 [HTTPS] => on [REQUEST_SCHEME] => https [SERVER_PROTOCOL] => HTTP/1.1 [DOCUMENT_ROOT] => / [DOCUMENT_URI] => /ip.php [REQUEST_URI] => /ip.php [SCRIPT_NAME] => /ip.php [CONTENT_LENGTH] => [CONTENT_TYPE] => [REQUEST_METHOD] => GET [QUERY_STRING] => [SCRIPT_FILENAME] => /ip.php [FCGI_ROLE] => RESPONDER [PHP_SELF] => /ip.php [REQUEST_TIME_FLOAT] => 1536196806.1434 [REQUEST_TIME] => 1536196806 )其中HTTP_CF_CONNECTING_IP标头就是我们要的访客真实IP信息了。接下来说一下NGINX和PHP分别如何获取这个IP1、NGINX配置获取CloudFlare 下的访客真实IP并记录到日志需要修改NGINX的配置文件宝塔的nginx配置文件存放位置与一般nginx不一样,宝塔存放nginx配置文件位置:/www/server/nginx/conf/nginx.conf;一般nginx的配置文件位置:/usr/local/nginx/conf/nginx.conf。在http {}部分增加map $HTTP_CF_CONNECTING_IP $clientRealIp { "" $remote_addr; ~^(?P<firstAddr>[0-9.]+),?.*$ $firstAddr; } log_format main '$clientRealIp [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '$http_user_agent $remote_addr $request_time';主要是为了通用性,如果关闭了CDN,可以不需要修改获取IP的方式,所以才这么修改,不然直接用$HTTP_CF_CONNECTING_IP就行了(这个时候就不需要在日志格式里使用$clientRealIp)然后在网站记录的日志定义使用main这个日志格式比如access_log /www/wwwlogs/www.bnxb.com.log main;可以参考https://www.bnxb.com/nginx/27513.html另外还有一种更简单的方法,但是如果服务器上有其他站点没套CF,可能就获取会异常。就是在NGINX的主配置文件中加入set_real_ip_from 0.0.0.0/0;real_ip_header CF-CONNECTING-IP;如下图:2、PHP获取使用CloudFlare CDN环境下的访客真实IP<?php $realip =$_SERVER['HTTP_CF_CONNECTING_IP']; echo $realip; //也可以用下面这个 $clientIP = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : $_SERVER['REMOTE_ADDR']; echo $clientIP; ?>以上就是获取Cloudflare环境下真实IP功能3、利用宝塔防火墙配合CF CDN防御CC攻击宝塔的防火墙可以打开CDN选项,这样就能获取到CDN后面的真实访客IP,但是需要自定义HEADER先设置一下防御的力度,我是设置30秒60次然后设置下真实访客IP的获取方式添加HEADER,把cf_connecting_ip加进去,原来的x-forwarded-for 和x-real-ip都删掉完工,这样宝塔的防火墙就能利用CF传递过来的真实访客IP对攻击者进行封禁来源:https://www.bnxb.com/php/27592.html
2023年10月22日
4 阅读
0 评论
0 点赞
2023-10-21
宝塔面板绑定域名套上cloudflare – 实现cdn访问拯救你的IP
这里的宝塔面板绑定域名,不是指宝塔面板里面的网站而是单纯的宝塔后台面板的访问。宝塔面板的访问一般是服务器ip:端口号这样访问,但是不排除你的IP被那啥了之后访问不了的情况。突然奇想,如果我们给宝塔面板设置一个域名,然后在把这个域名套入到cdn中,来实现域名访问。这样,只要cloudflare不挂,你的面板就可以一直访问到。而且,通过cdn访问也隐藏了服务器ip,原则上来说也是安全的。一、准备域名你需要准备一个域名。二:新建网站宝塔面板中新建一个站点。也不要什么php版本了,选择纯静态就可以了。域名,就是你准备好的域名。三:宝塔面板设置域名在面板设置中填写你刚刚准备好的域名,具体如图:四:cloudflare端口By default, Cloudflare proxies traffic destined for the HTTP/HTTPS ports listed below.HTTP ports supported by Cloudflare:默认情况下,Cloudflare会代理发往下面列出的HTTP/HTTPS端口的流量。Cloudflare 支持的 HTTPs 端口为: 80 8080 8880 2052 2082 2086 2095 Cloudflare 支持的 HTTPs 端口为: 443 2053 2083 2087 2096 8443五、修改端口我们需要把端口改为8080,宝塔面板修改端口,就是在面板设置中,不会的看图。六:接入CDN上面的都做好之后,我们现在可以把域名接入cloudflare中了。如图:可以先不要点亮灰色的云朵。七、设置{饭袋}这一步很重要,在刚刚的新建的网站里面设置一个{饭袋}。此处为隐藏的内容发表评论并刷新,方可查看八、点亮灰云现在我们可以在cloudflare中点亮域名的灰色云彩了,如图:九、效果预览现在可以在浏览器中用域名打开你的宝塔面板来访问了,访问形式:域名+安全入口。哇,效果真是流弊啊,现在全国ping下。我们看到已经在cdn的状态下了。十、总结这个教程针对你的IP被那啥的情况。如果我们的IP一切正常,也没必要这么设置了。这个教程的灵感自宝塔官方论坛的一个帖子。但是官方貌似没有解决这个问题。刚好自己也碰到了就用了上面的方式测试了一番,竟然成功了。问题的来源如下:假如我服务器的真实IP为:66.112.xxx.xxx,访问面板的时候也是66.112.xxx.xxx:8888,经过cloudflare解析后变成了104.27.161.250,面板里面设置服务器IP为104.27.161.250不知道可不可行,如果修改后面板访问不了了怎么恢复成原来的服务器IP66.112.xxx.xxx官方的帖子:https://www.bt.cn/bbs/thread-38518-1-1.html文章来源:大鸟博客 https://www.daniao.org/7379.html
2023年10月21日
110 阅读
0 评论
0 点赞
2023-10-21
Docker 安装LibreX 绑定域名
1.宝塔安装Docker2.命令安装LibreXdocker run -d --name librex \ -e TZ="America/New_York" \ -e CONFIG_GOOGLE_DOMAIN="com" \ -e CONFIG_GOOGLE_LANGUAGE="en" \ -p 8080:8080 \ librex/librex:latest3.ip:8080测试访问4.域名反代ip:8080
2023年10月21日
0 阅读
0 评论
0 点赞