Categories


Tags


[原创]dedecms使用cdn后获取真实ip的方法

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:22

部署证书后安全锁不正常显示的解决办法

如果部署证书后安全锁不正常显示,可能是由于以下原因: 1. 证书没有正确安装或配置。请检查证书是否正确安装,并确保证书的配置与服务器配置相匹配。 2. 证书过期或无效。请确认证书是否还在有效期内,并使用有效的证书。 3. 浏览器设置问题。请确保浏览器已启用安全锁,并确保其能够正确显示证书。 4. 服务器问题。请检查服务器是否有管控程序或其他问题影响了证书的正常运行。 解决方法: 1.

Public @ 2023-05-30 04:00:17

西部数码访问统计、流量解释(关键词:访问统计、流量总和、统计软件、robots.txt、蜘蛛、流量)

一、为何主机控制面板的本月流量数字远大于站点访问统计中本月每日流量的总和?答:请从以下三方面进行核实:1.本月流量是主站+子站的流量总和,如果您的虚拟主机开设了子站,请注意将子站的流量也统计进去;2.访问统计中的:浏览器流量 与  非浏览器流量 二者需要相加;非浏览器流量一般是由于mp3等被迅雷等软件下载或搜索引擎的蜘蛛程序读取所引起的。3.部分型号的主机是使用了CDN技术的,如集群主机

Public @ 2021-08-14 15:45:52

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

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

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

更多您感兴趣的搜索

0.616029s