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

如何高效的完成域名实名认证

根据注册局和工信部要求,需上传实名资料的域名有:.cn/.com/.net/.top/.xyz/.vip/.club/.ren/.wang/.shop/.xin/.中国/.信息等,相关要求请查看《关于域名实名认证》。如果您帐号下的域名较少,可以在域名管理中心,点“待上传资料”的链接,直接在线上传即可。(部分注册时间太久的域名,因whois资料不兼容,需要重新按以下步骤 先创建模板,再用模板过户 功

Public @ 2013-05-17 15:45:31

网站成功关键之一:网站设计

一个网站的成功与否,很大程度上取决于网站设计的好坏。网站设计不仅仅是指网站页面的外观,还包括网站的结构、内容布局、交互方式、可用性等方面,这些都需要仔细地设计和考虑。以下是网站设计关键的一些方面: 1. 用户体验:好的网站设计应该能使用户有良好的体验,为用户提供方便、快捷、一致的交互方式,帮助用户满足他们的需求。 2. 网站结构:合理的网站结构能让用户更容易浏览和定位网站的内容,有利于搜索引擎

Public @ 2023-04-17 14:50:33

织梦移动化友好度建设要注意哪些事项?

1、使用静态页面织梦具有静态页面生成的功能,静态页面对SEO优化比较好。手机站建议是使用静态化的页面,有利于提高网页的加载速度。2、手机站的图片单独进行处理织梦程序里,手机站和PC端是共用一个数据库,手机上调用的图片和PC是一样的,PC站上的图片的尺寸和大小是不能满足移动友好度的要求。所以站长要单独对手机站的图片进行处理。3、网页的篇幅设置做手机站的时候,需要注意页面不能过长,因为手机的屏幕相对比

Public @ 2011-07-04 15:44:55

更多您感兴趣的搜索

0.624771s