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.了解域名行业:了解域名行业的市场价值、行业规则和竞争格局,深入了解域名的价值和限制条件。 2.选择好域名:选择主流的域名扩展名(如.com、.net、.org等),精心挑选好的关键词和名字,让域名易于记忆和吸引流量。 3.品牌化:当您拥有一个知名品牌时,可以考虑注册与品牌名称相关的域名,以加强品牌推广和防止侵权。 4.关注热门趋势:及时了解各行业的动态和热点新闻,适时选择适合的域名注册,

Public @ 2023-03-28 01:00:30

自媒体时代,网站还值得做吗?

新媒体群起的时代,还有没有必要玩网站呢?有必要,而且还存在很多机会,今天我们来重点探讨下:一、个人做网站等于在做一件积累型的事情尤其是今年,疫情严重,现在还有很多小伙伴依然没有上班,不上班以为着没有了收入,这种吃老本的日子可不好过。然而,玩网站是一个成本低,不需要固定场所的行业,为了让你知晓网站的价值性,我给你举个例子:前些天,我在找资料的时候,无疑中发现一个网站自媒体时代,网站还值得做吗? 网站

Public @ 2012-08-07 15:39:34

DedeCMS顽固木马后门专杀工具(适用织梦程序被挂码、入侵的检查和清理)

下载DedeCMS顽固木马后门专杀工具(脚本工具来源于互联网),解压后编辑修改初始密码,然后上传到wwwroot根目录,然后访问根据提示执行扫描。需注意:1.跟目录下必须有data目录和/data/common.inc.php文件,如不存在会报“请将该文件放到您站点的根目录,和index.php同一级目录”错误。2.文件太多执行时间较长,可能超时,可以修改ini_set("memory_

Public @ 2020-11-01 15:44:54

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

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

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

更多您感兴趣的搜索

0.507339s