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

网页是选择新窗口打开还是原窗口打开?

我本人挺喜欢原窗口打开的,如果需要打开新窗口一般是ctrl+鼠标左键,原本以为这个快捷键大家都会用呢,不过这一看法在上周改变。如果你还在纠结,可以看看本文。网页是选择新窗口打开还是原窗口打开? 网站设计 用户体验 建站教程 第1张(主流浏览器都默认ctrl+点击=开新窗口)一天一位好友加我说到,希望卢松松博客的文章能在新窗口打开,说我已经习惯了网站弹出新窗口,这样不用一次次的点后退,有时候习惯性的

Public @ 2014-09-26 16:17:24

CMS模板开发应该注意什么?

1. 布局设计:CMS模板的布局设计应该具有良好的可读性和易用性,同时需要考虑到网站内容的展示和导航。 2. 设计风格:设计风格需要符合目标群体的需求和喜好,同时要与公司品牌形象相一致,以便树立品牌形象。 3. 网站可访问性:模板应该遵循无障碍性标准,保证网站在不同设备和浏览器上的兼容性。 4. 用户体验:模板应该注重用户体验,使用户能够快速地寻找自己需要的内容,并且易于操作。 5. 响应

Public @ 2023-04-23 04:00:11

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

1. 响应式设计:确保网站在不同设备上都能自适应调整布局,使用户体验更加友好。 2. 快速加载速度:移动设备的用户更注重网站的加载速度,所以需要优化图片和代码压缩等方面来提高网站速度。 3. 简洁明了的导航:导航栏应该简洁明了,以便用户在移动设备上使用的时候快速找到需要的信息。 4. 多渠道登录:应该提供多种登录方式,如微信、QQ、微博等,以便用户方便登录。 5. 提供搜索功能:手机屏幕较

Public @ 2023-04-26 00:00:18

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

1. 响应式设计:使用响应式设计制作网站,以确保其能够在不同屏幕大小和设备上正常呈现。 2. 移动优化的布局:精心设计和优化网站布局,确保在小屏幕设备上,内容可读性好且易于导航。 3. 图像优化:使用正确的格式、大小和分辨率优化图像,以提高网站的性能和加载速度。 4. 视频优化:使用正确的视频格式、大小和分辨率,以确保视频在移动设备上流畅播放。 5. 快速响应时间:确保网站能够快速响应用户

Public @ 2023-06-15 00:50:20

更多您感兴趣的搜索

0.456943s