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

域名注册

域名是您在互联网上的标志之一。每个域名都只有一个。如果您公司的名字是Intellectual Business Management Ltd,您想把公司的域名注册成ibm.com,国际商用机器公司(IBM)同您相比并不具有什么优先权,然而这个域名早已被它抢到手了!注册自己的域名,以便在网上宣传自己的产品和服务。作为有头脑、有远见的商人,越早行动,越有可能获得您所需要的域名。我司提供国内外多个域名注

Public @ 2014-04-02 15:45:25

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

作为 AI 语言模型,我无法访问后台系统或直接修改数据。但是,这个问题通常会出现在以下情况: 1. 用户名或密码输入错误,请确保输入的用户名和密码是正确的,可能是大小写问题或者有空格; 2. 用户被禁用或删除,请联系网站管理员核实是否存在这个用户; 3. 数据库连接错误,导致系统无法正确读取用户信息,请检查配置文件中的数据库连接信息是否正确; 4. 系统程序损坏或出现bug,需要修复系统程序或联

Public @ 2023-06-04 23:00:07

织梦(dedecms)主动推送插件分享

自古英雄出社区,学堂君在站长社区中发现了一篇关于织梦主动推送插件的文章,这篇内容是根据百度站长后台提供的PHPpost提交链接的代码整合到dedecms 后台,发布文章和发布专题的时自动将新建的链接提交给百度方便百度收录我们的链接 提高网站链接收录率,对于自己原创的文章第一时间提交给百度增强原创保护。究竟是怎么做到呢?大家跟学堂君一探究竟吧!一、解压附件得到以下文件将dede 目录下的文件用ftp

Public @ 2019-01-11 15:44:52

更多您感兴趣的搜索

0.556418s