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

网站配色的实用须知

最近发现,很多用户都反馈,在做网站设计的时候对网站背景颜色的选取很难把握,不知道什么颜色才适合自己的企业网站。因此,这期就为大家分享一下网站的颜色应该如何选择。网站颜色的重要性根据研究表明,90%的快速购买决定完全是由颜色感知决定的。网页颜色搭配的是否合理会直接影响到访问者的情绪,它有助于创建想法,传达信息,调用情感和提高兴致。普通用户的注意力跨度为15秒,因此最好的方式就是让用户在你的网站上多停

Public @ 2009-07-02 15:45:21

手机网页自适应深色模式适配

1. 使用媒体查询 在CSS中,可以使用@media查询来检测浏览器的颜色模式,并在需要的情况下应用不同的样式。例如,以下代码段在日间模式下将文本颜色设置为黑色,在深色模式下将文本颜色设置为白色: @media (prefers-color-scheme: light) { body { color: black; } } @media (prefers-color-sche

Public @ 2023-06-05 21:00:18

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

dedecms最近被曝有非常多的安全漏洞,最近有些用户反应后台管理员账号密码没有修改但无法正常登陆,提示用户名不存在,经研究发现是程序漏洞管理员被直接篡改,解决方案如下。一、请先使用phpmyadmin登陆mysql管理,虚拟主机可以点击控制面板左边数据库,然后点击在线管理mysql数据库可以进入phpmyadmin管理数据库image.png登陆以后查看dede_admin表里面的用户是否被篡改

Public @ 2017-04-10 15:44:53

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

1、增强访问速度:减少资源文件的大小、精简代码和标签,以及优化客户端缓存; 2、减少HTTP请求次数:合并相关的资源文件及压缩CSS和JavaScript; 3、合理开发架构:采用响应式或流式布局,使页面根据不同设备自动调整,节约传输; 4、简化DOM结构:减少 HTML 的结构及元素,清理无效的代码,不断优化页面的结构; 5、即时加载:延时加载页面内容,先展示最重要的内容,等数据完全

Public @ 2023-02-25 08:48:23

更多您感兴趣的搜索

0.565854s