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

域名解析

域名解析是指将域名转换成IP地址的过程。当用户通过浏览器输入一个域名时,浏览器需要将该域名解析成相应的IP地址才能连接到对应的服务器上。在域名解析的过程中,会涉及到DNS服务器的查询和响应。该过程通常由ISP或DNS服务商提供支持,可以通过域名解析工具或命令行进行操作。

Public @ 2023-04-24 18:00:10

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

1. 什么是织梦程序(DeDeCms)? 织梦程序是一款开源的内容管理系统,具有易用性、安全性和高效性的特点,可以用来构建各种类型的网站,包括新闻、博客、论坛、电商等。采用PHP+MySQL技术,支持多语言、多网站以及多用户操作,是目前国内较为流行的CMS之一。 2. 织梦程序有哪些版本? 织梦程序主要分为两个版本:织梦CMS和织梦DED扩展版。织梦CMS是标准版,包括基本的网站管理功能;织

Public @ 2023-06-25 22:00:55

更多您感兴趣的搜索

0.572020s