标签归档:Discuz!

使用CDN加速后对PHP获取IP的影响

一直都是使用DISCUZ的获取客户端IP的函数,但今日发现网站使用CDN加速后,网站统计出了问题,获取到的IP有部分是CDN节点的IP,而程序统计是以唯一IP判断,导致统计到的IP比实际IP少很多。改动获取IP的函数后恢复正常。 原获取IP的方法: if(getenv(’HTTP_CLIENT_IP’) && strcasecmp(getenv(’HTTP_CLIENT_IP’), ‘unknown’)) { $onlineip = getenv(’HTTP_CLIENT_IP’); } elseif(getenv(’HTTP_X_FORWARDED_FOR’) && strcasecmp(getenv(’HTTP_X_FORWARDED_FOR’), ‘unknown’)) { $onlineip = getenv(’HTTP_X_FORWARDED_FOR’); } elseif(getenv(’REMOTE_ADDR’) && strcasecmp(getenv(’REMOTE_ADDR’), ‘unknown’)) { $onlineip = getenv(’REMOTE_ADDR’); } elseif(isset($_SERVER[’REMOTE_ADDR’]) && $_SERVER[’REMOTE_ADDR’] && strcasecmp($_SERVER[’REMOTE_ADDR’], ‘unknown’)) { $onlineip = $_SERVER[’REMOTE_ADDR’]; } … 继续阅读

发表在 Discuz!, PHP | 标签为 , , | 4 条评论

php配置变量写入配置文件的方法

有些常用的配置变量写入MYSQL比较麻烦,可以写入一个php配置文件,在需要的地方引入这个配置文件即可。写入方法如下(摘入): $configfile = @file_get_contents(’./config.inc.php’); $configfile = trim($configfile); $configfile = preg_replace("/[$]dbhost\s*\=\s*[\"'].*?[\"'];/is", "\$dbhost = ‘$dbhost’;", $configfile); $configfile = preg_replace("/[$]dbuser\s*\=\s*[\"'].*?[\"'];/is", "\$dbuser = ‘$dbuser’;", $configfile); $configfile = preg_replace("/[$]dbpw\s*\=\s*[\"'].*?[\"'];/is", "\$dbpw = ‘$dbpw’;", $configfile); $configfile = preg_replace("/[$]dbname\s*\=\s*[\"'].*?[\"'];/is", "\$dbname = ‘$dbname’;", $configfile); $configfile = preg_replace("/[$]adminemail\s*\=\s*[\"'].*?[\"'];/is", "\$adminemail = … 继续阅读

发表在 Discuz!, PHP | 标签为 , | 3 条评论

DZ获取客户端IP的方法

discuzs是一款不错的php开源社区软件,很多优秀的代码可以拿来借鉴。下面是从common.inc.php中提取出来的获取客户端IP的代码。 if(getenv(’HTTP_CLIENT_IP’) && strcasecmp(getenv(’HTTP_CLIENT_IP’), ‘unknown’)) { $onlineip = getenv(’HTTP_CLIENT_IP’); } elseif(getenv(’HTTP_X_FORWARDED_FOR’) && strcasecmp(getenv(’HTTP_X_FORWARDED_FOR’), ‘unknown’)) { $onlineip = getenv(’HTTP_X_FORWARDED_FOR’); } elseif(getenv(’REMOTE_ADDR’) && strcasecmp(getenv(’REMOTE_ADDR’), ‘unknown’)) { $onlineip = getenv(’REMOTE_ADDR’); } elseif(isset($_SERVER[’REMOTE_ADDR’]) && $_SERVER[’REMOTE_ADDR’] && strcasecmp($_SERVER[’REMOTE_ADDR’], ‘unknown’)) { $onlineip = $_SERVER[’REMOTE_ADDR’]; }

发表在 Discuz!, PHP | 标签为 , | 一条评论

Call to undefined function curl_init解决方法

  在网上下载了一个模拟登陆discuz论坛的php程序范例,试运行时出现“Call to undefined function curl_init”这个错误提示,没有定义的函数,也就是php还没打开对curl_init函数的支持。Google了一番终于解决了,方法如下:   以windows下的php+apache为例。

发表在 Discuz!, PHP | 标签为 | 一条评论

密码保护:个性化修改Discuz!伪静态网址

无法提供摘要。这是一篇受保护的文章。

发表在 Discuz! | 标签为 , , | 要查看留言请输入您的密码。

发帖随机奖惩插件(发帖机遇) For DZ7.0

Discuz!插件发布 插件名称 发帖随机奖惩插件(发帖机遇) For DZ7.0 适用版本 Discuz!7.0 语言编码 GBK 插件作者 修改自DZ6.1 版权所属 原作者 插件简介 发帖时随机事件对作者进行奖惩,修改自原插件的6.1版,解决了短消息通知问题。

发表在 Discuz! | 标签为 , | 5 条评论

友情链接点击次数无刷新统计FORDZ7.0

  本插件可分为3个部分安装,分别是1.功能实现部分,此部分为必须;2.前台显示部分,此部分主要是在前台显示点击次数,为可选安装;3.后台管理部分,此部分主要是能在后台友情链接管理每项的点击次数,也为可选安装,不过本人推荐安装此部分。

发表在 Discuz! | 标签为 , , | 一条评论