Categories


Tags


[原创]dedecms使用cdn后获取真实ip的方法

dedecms 是一个非常受欢迎的开源 PHP CMS 系统,常常被用于网站建设。当使用 CDN 时,由于访问者的请求是通过 CDN 节点转发的,因此在网站后台获取用户真实 IP 会变得更加困难。下面是一种获取真实 IP 的方法。 首先,可以在网站程序的入口文件 index.php 中增加以下代码: ```php // 判断是否使用 CDN,并获得真实IP if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip_list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $real_ip = trim(end($ip_list)); } else { $real_ip = $_SERVER['REMOTE_ADDR']; } ``` 在这个代码中,首先通过判断 `HTTP_X_FORWARDED_FOR` 变量是否存在,来确定是否使用了 CDN。如果存在,将该变量的值进行分隔,再取最后一个 IP 地址作为真实 IP,最后进行修剪处理。如果该变量不存在,则使用 `REMOTE_ADDR` 取得客户端的真实 IP。 然后,将取得的真实 IP 保存在一个 SESSION 中,方便后面的使用: ```php // 设置SESSION session_start(); $_SESSION['real_ip'] = $real_ip; ``` 最后,在需要使用真实 IP 的地方,通过读取 SESSION 中的真实 IP 来获取: ```php // 读取SESSION session_start(); $real_ip = $_SESSION['real_ip']; ``` 注意:这种方式的前提是 CDN 能够传递 HTTP_X_FORWARDED_FOR 变量。有部分情况下,CDN 会给 HTTP_X_FORWARDED_FOR 变量赋一个固定的值,这时以上方法就不能正确获取到真实 IP。如果需要更加精细的 IP 地址信息,还需要进一步处理。 另外,如果使用了多个 CDN,需要从 HTTP_X_FORWARDED_FOR 中取出最后一个 IP,即最近一个 CDN 的 IP。否则,还是取到的是最初的用户 IP 地址。

Public @ 2023-04-23 21:50:22

Linux+Nginx下SSL证书安装

1. 首先,确认你的 SSL 证书的类型 2. 在 Nginx 配置文件中添加 SSL 相关的配置项 3. 配置 SSL 证书文件路径 4. 重启 Nginx 服务器 5. 验证 SSL 证书是否安装成功 具体步骤如下: 步骤 1:确认 SSL 证书类型 确定你的 SSL 证书类型,通常有三种类型: - 自签名 SSL 证书:应用于非公共网站; - DV SSL 证书:应用于某些商

Public @ 2023-04-22 02:50:50

关于网站易用性的全面解读

网站易用性是指网站访问者使用网站所需进行的认知、学习、记忆、交互的复杂性。它与用户对网站特定功能的可接受程度、效率以及用户的满意度等相关。 网站易用性不只针对网站的设计与技术,也包括内容创作、交互设计、信息架构、视觉设计、可访问性、安全性等多个方面。好的网站易用性设计可以让用户更容易地完成他们需要做的事情,从而提升其满意度和效率。 以下是关于网站易用性的全面解读: 1. 内容创作:要为用户提

Public @ 2023-04-22 05:00:22

大咖在线4:dedecms实现移动跳转适配实操分享

通过一系列关于移动适配的培训与文章分享,大部分站长同学已经了解移动适配原理和方法,并开始积极的使用适配工具!但调研发现,部分站长在使用移动化适配工具仍有些困扰,特别是中小型站长,缺乏实际的案例指导。考虑到中小型网站中Dedecms使用概率较高,今天我们特地邀请了百度站长社区版主—洪石陈来为大家做Dedecms移动适配分享。第一步:安装Dedecms移动站点的两种方式(1)下载新版本直接安装使用,D

Public @ 2010-07-26 15:44:52

更多您感兴趣的搜索

0.477681s