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

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

建议尽量自己开发模板,或者外包开发模板,在网站上线初期模板不需要多么华丽,实用,复合SEO规范即可。下面是我们总结了一些模板开发需要注意的事项,供大家参考。1.CSS样式,javaScript 代码外置在页面源代码中尽量不要出现CSS样式,JavaScript代码。因为出现会影响搜索引擎抓取的速度和数量。百度搜索引擎不会抓取 JavaScript代码。·  Css样式表外置到Css文件夹

Public @ 2018-05-14 15:44:49

如何获取域名转移密码?

如何获取域名转移密码?域名转移注册商时必须向原注册商索取到 转移密码(auth-code)才能进行。像Godaddy等国外注册商,一般在控制面板上就可以直接点击一个按钮发送auth-code到域名所有人的邮箱之中,国内的注册商一般都没有自由获取转移密码的功能,需要联系注册商或之前注册域名的代理商,人工索取转移密码,或提出要进行域名转出。这样原注册商一般会给出相应的处理流程。如果原来是通过万网、新网

Public @ 2019-04-02 15:59:57

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

dedecms最近被曝有非常多的安全漏洞,最近有些用户反应后台管理员账号密码没有修改但无法正常登陆,提示用户名不存在,经研究发现是程序漏洞管理员被直接篡改,解决方案如下。一、请先使用phpmyadmin登陆mysql管理,虚拟主机可以点击控制面板左边数据库,然后点击在线管理mysql数据库可以进入phpmyadmin管理数据库image.png登陆以后查看dede_admin表里面的用户是否被篡改

Public @ 2017-04-10 15:44:53

更多您感兴趣的搜索

0.500354s