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

如何防止域名被盗

域名是整个网站的核心和关键,一旦域名被盗,且转移到其他注册商,将给域名所有人带来巨大的损失,域名被盗后站长索回异常困难(参见这个站长的故事)。如何防止域名被盗也就成为所有网站管理员必须知道的一门尝试。那么,怎么样才能防止自己的域名被不法分子盗取呢?以下是保护域名安全的一些常见方法。域名信息填写真实信息在注册域名的时候,域名信息要填写自己真实的信息,不能瞎填。企业用户注册域名使用真实的营业执照,个人

Public @ 2016-12-29 16:00:23

网站建设:提高网站访问量的策略

提高网站访问量是每个网站所有者都关注的一个问题。以下是一些提高网站访问量的策略: 1. 优化SEO:通过优化网站的SEO(搜索引擎优化),使其在搜索引擎中更容易被找到。优化关键词、网站结构以及内容质量是其中重要的一部分。 2. 内容营销:提供高质量、有价值的内容来吸引用户。可以通过博客、文章、视频等形式分享有益的信息,吸引访问者并保持他们的兴趣。 3. 社交媒体推广:在社交媒体平台上建立品牌

Public @ 2023-07-28 06:50:32

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

1. 什么是织梦程序(DeDeCms)? 织梦程序(DeDeCms)是一种基于PHP语言开发的开源网站内容管理系统,它具有易用性、安全性以及高度可扩展性的优点,广泛应用于各类网站的建设中。 2. 如何安装织梦程序? 安装织梦程序可以通过以下几个步骤进行:上传程序文件至服务器、创建数据库、配置数据库信息、运行安装程序、完成安装。 3. 如何设置织梦程序的站点基本信息? 在织梦程序后台管理页

Public @ 2023-04-01 22:50:49

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

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

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

更多您感兴趣的搜索

0.454406s