Categories


Tags


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

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

整理自网络ChatGPT产生之内容,文本内容不具备参考意义,程序内容及代码片段有且仅有借鉴意义。

  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:06 整理自网络ChatGPT产生之内容,文本内容不具备参考意义,程序内容有且仅有借鉴意义。

MAC OS 苹果系统如何安装FileZilla上传程序

以下是安装FileZilla上传程序的步骤: 1. 打开浏览器,进入FileZilla官网(https://filezilla-project.org/)。 2. 点击页面上方的“Download”按钮,选择“Client”选项。 3. 在“Download FileZilla Client”页面中,选择适合你电脑的版本并点击下载。 4. 下载完成后,双击打开下载的安装程序,选择“Agre

Public @ 2023-06-18 05:50:15

从SEO角度看网站重新设计

从SEO角度来看,重新设计网站可能会对搜索引擎优化产生一定的影响。以下是一些可能会发生的改变和需要注意的事项: 1. 网站结构和导航:重新设计网站时,通常会对网站的结构和导航进行调整。这可能会影响搜索引擎对网页的索引和理解,因此需要确保新的结构和导航能够有助于搜索引擎爬虫的抓取和理解网页内容。 2. URL变动:如果在重新设计过程中更改了网页的URL结构,那么搜索引擎需要重新索引这些变动,这可

Public @ 2023-07-28 06:00:35

dedecms系统后台登陆提示用户名密码不存在

作为 AI 语言模型,我无法访问后台系统或直接修改数据。但是,这个问题通常会出现在以下情况: 1. 用户名或密码输入错误,请确保输入的用户名和密码是正确的,可能是大小写问题或者有空格; 2. 用户被禁用或删除,请联系网站管理员核实是否存在这个用户; 3. 数据库连接错误,导致系统无法正确读取用户信息,请检查配置文件中的数据库连接信息是否正确; 4. 系统程序损坏或出现bug,需要修复系统程序或联

Public @ 2023-06-04 23:00:07

织梦移动化友好度优化七盏明灯

1. 响应式设计:确保网站在不同设备上都能自适应调整布局,使用户体验更加友好。 2. 快速加载速度:移动设备的用户更注重网站的加载速度,所以需要优化图片和代码压缩等方面来提高网站速度。 3. 简洁明了的导航:导航栏应该简洁明了,以便用户在移动设备上使用的时候快速找到需要的信息。 4. 多渠道登录:应该提供多种登录方式,如微信、QQ、微博等,以便用户方便登录。 5. 提供搜索功能:手机屏幕较

Public @ 2023-04-26 00:00:18

更多您感兴趣的搜索

0.430495s