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产生之内容,文本内容不具备参考意义,程序内容有且仅有借鉴意义。

常见独立个人博客系统

1. WordPress(最受欢迎的博客系统) 2. Ghost(专注于博客写作的新一代博客平台) 3. Typecho(国产博客系统,界面简洁,易于使用) 4. Hexo(基于Node.js的静态博客生成器,支持Markdown格式) 5. Jekyll(Ruby语言编写的静态博客生成器) 6. Movable Type(兼顾博客和CMS功能的博客系统) 7. Octopress(基于Jekyl

Public @ 2023-06-09 11:50:07

修改域名dns提示DNS未授权处理办法

如果域名DNS提示未授权,以下是处理办法: 1. 确认域名是否已经被注册并已经激活,可以使用 Whois 查询确认。 2. 确认当前 DNS 是否与注册域名的 DNS 一致,可以在 Whois 查询结果中查看。 3. 如果 DNS 不一致,则需要修改注册商的 DNS,将其更改为您自己的 DNS。 4. 在您的 DNS 中添加新的域名解析记录,以指向您的服务器。 5. 如果您的 DNS 已

Public @ 2023-06-19 17:00:13

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

1. 响应式设计:使用响应式设计制作网站,以确保其能够在不同屏幕大小和设备上正常呈现。 2. 移动优化的布局:精心设计和优化网站布局,确保在小屏幕设备上,内容可读性好且易于导航。 3. 图像优化:使用正确的格式、大小和分辨率优化图像,以提高网站的性能和加载速度。 4. 视频优化:使用正确的视频格式、大小和分辨率,以确保视频在移动设备上流畅播放。 5. 快速响应时间:确保网站能够快速响应用户

Public @ 2023-06-15 00:50:20

[原创]织梦程序(DeDeCms)常见问题集锦

前言:织梦程序是最知名的cms程序,使用广泛,但很多朋友对织梦还不太熟悉,通过工单分析得知,经常容易出现本文中的问题,本次统一整理出来,希望对新手朋友有帮助,本文写的非常详细,请仔细阅读,一、描述:“dedecms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错”如图:shibai.jpg分析:用织梦程序制作的站点做迁移服务器后容易出现这个问题,原因是程序中设置的数据库连接信息有误连

Public @ 2014-04-03 15:44:54

更多您感兴趣的搜索

0.538726s