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

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

一、部署证书后安全锁不正常显示有些小伙伴安装过SSL证书后,会发现https安全锁显示不正常,对于小白小伙伴们不知道原因在哪,更不知道怎么解决,下面就来看看出现这样的原因和解决办法吧:第一种提示:浏览器提示不安全因素(不同浏览器会出现不同的提示办法,解决办法见“二、解决网站”不安全因素“的方法”提示的原因:用户网站中却使用了大量的外链,而SSL证书对于网站的代码安全性要求比较高的,用了这些外部的资

Public @ 2017-05-29 15:36:28

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

前言:织梦程序是最知名的cms程序,使用广泛,但很多朋友对织梦还不太熟悉,通过工单分析得知,经常容易出现本文中的问题,本次统一整理出来,希望对新手朋友有帮助,本文写的非常详细,请仔细阅读,一、描述:“dedecms错误警告:连接数据库失败,可能数据库密码不对或数据库服务器出错”如图:shibai.jpg分析:用织梦程序制作的站点做迁移服务器后容易出现这个问题,原因是程序中设置的数据库连接信息有误连

Public @ 2014-04-03 15:44:54

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

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

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

更多您感兴趣的搜索

0.417571s