PHP 获取客户端ip地址
PHP 获取客户端ip地址 一、如果没有使用代理服务器,REMOTE_ADDR = 客户端IPHTTP_X_FORWARDED_FOR = 没数值或不显示 $ip = $_SERVER['REMOTE_ADDR']; 二、使用透明代理,REMOTE_ADDR = 最后一个代理服务器 IPHTTP_X_FORWARDED_FOR = 客户端真实 IP (经过多个代理服务器时,这个值类似:221.5.252.160, 203.98.182.163, 203.129.72.215) 这类代理还会将客户真实ip发送到请求对象,无法隐藏真实ip。 $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 三、使用普通匿名代理服务器,REMOTE_ADDR = 最后一个代理服务器 IPHTTP_X_FORWARDED_FOR = 代理服务器 IP (经过多个代理服务器时,这个值类似:203.98.182.163, 203.98.182.163, 203.12...
X-Forwarded-For IP伪造问题处理
这个文章放在云笔记里面半年多了, 出现问题场景是我们从 aws 迁移至 阿里云 之后;优化 api服务 发现有大量用户通过 X-Forwarded-For 仿造客户端IP 从而跨过我们后端对IP做的频率限制. 原理很简单 一般公司服务器都是 在服务最前端放 slb/lvs 这种负载均衡服务, 用户请求的IP 插入 X-Forwarded-For 前面 我们使用加速通道 多层的代理 ; 后端按照如下顺序获取客户端的真实IP HTTP_ALI_CDN_REAL_IP;HTTP_CF_CONNECTING_IP;HTTP_X_CONNECTING_IP;XXXX_Client_IP;USER_REAL_IP; (通过nodejs 将用户的真实ip 透传给用户中心内网) 上述变量详解 HTTP_ALI_CDN_REAL_IP 链路配置了阿里云CDN,则阿里云CDN会传递此变量给后端,变量内的值就是客户端的真实IP地址。 HTTP_CF_CONNECTING_IP 如上,该值是cloudflare提供的客户端真实IP地址。 HTTP_X_CONNECTING_IP 如上,该值是加速乐...
基于acme.sh从Let's encrypt生成免费SSL证书
基于acme.sh从Let’s encrypt生成免费且自动更新的SSL证书0x01 安装 acme.sh$ curl https://get.acme.sh | sh# Or$ wget -O - https://get.acme.sh | sh 执行上面的命令,它会:从 GitHub 上下载 sh 脚本并执行把文件解压到用户的 ~/.acme.sh目录下给命令行设置一个acme.sh的 alias 别名最后注册一个 cron 定时任务来自动更新证书。 安装完成后要自行重启命令行,或者重新加载一下.bashrc文件(source ~/.bashrc)。然后看一下有没有生效。 $ acme.sh -hhttps://github.com/acmesh-official/acme.shv2.8.6Usage: acme.sh command ...[parameters]....Commands: --help, -h Show this help message. --version, -v Show ve...
yum 安装 Redis
YUM安装Redis:由于Centos官方yum源里面没有Redis,我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库,执行命令安装,这里要注意一点,yum 安装的redis 版本不一定是最新的,可以用 yum search redis 来查询安装源中的 redis 版本,默认情况,版本较老。 安装epel仓库: yum install -y epel-release 然后使用 yum install -y redis 安装 redis,yum 安装操作非常简单。 下面使用 cetnos7 systemctl 启动 redis,命令如下: systemctl start redis




