PHP168 程序遭受注册机入侵

昨天开始我使用的php168程序开始遭受注册机不停注册新用户,一天时间注册了大约300个用户,每隔几分钟一个,每个注册用户的邮箱和IP都不一样。

by 淮南都市网

想利用过滤IP或者邮箱的方法根本不行,现在的注册机可是相当的聪明了!

作为php168的用户,对于这样的问题实在是没办法接受的,见本文的链接便知道我对此有多么痛恨了。无奈,只能到官网寻求帮助。这才发现很多朋友都遇到了跟我一样的问题,官方开发人员给出的答复是修改 reg.php 的文件名。

这样的解决办法是完全无效的,因为根本就不是通过打开网页注册的,网站的流量统计中根本就没有这些来源不明的IP。这么看来,应该是通过sql注入的了。

开启注册会员审核也不是好办法,注册机依然会继续工作。望官方早日找到症状,对症下药吧。目前最好的解决办法,暂时关闭会员注册。

 

修正 PHP168 分类信息 ajax 评论列表头像显示bug

使用PHP168有一段时间了,发现的问题真不少。这不,又一个,分类信息ajax评论列表中用户头像显示不正确。反复查找源代码,总算是弄清楚了PHP168的评论系统的实现,其中就包括用户头像的显示。

打开 fenlei/inc/job/comment_ajax.php ,174行找到如下代码

PHP代码复制内容到剪贴板
  1. $query=$db->query(“SELECT * FROM `{$_pre}comments` WHERE id=$id $SQL ORDER BY cid DESC LIMIT $min,$rows”);

修改为

PHP代码复制内容到剪贴板
  1. $query=$db->query(“SELECT A.*,B.icon,A.icon AS img FROM `{$_pre}comments` A LEFT JOIN {$pre}memberdata B ON A.uid=B.uid WHERE A.id=$id and A.yz=1 ORDER BY $orderSQL A.cid DESC LIMIT $min,$rows”);

参考文件do/comment_ajax.php

粘一个修正后的链接:http://www.i0554.com/fenlei/bencandy.php?city_id=1&fid=25&id=56

PHP168 的 RSS 优化

RSS目前还只能算是小众应用,随着QQ邮箱、QZone阅读空间的推出,相信RSS订阅会被更多人接受并使用。在Blog程序中对RSS的依赖要大于CMS程序,RSS订阅数量也作为blogger们衡量自己blog好坏的一个标准,CMS程序一般对此没有过多的追求。

在PHP168中,开启了全站静态的情况下,RSS输出中的地址仍然是动态地址。默认的模板中是没有加入RSS订阅的代码的,可能很多新手甚至不知道PHP168有RSS输出的功能。

本文将就以上问题对PHP168进行一些简单合理的优化。

1、在PHP168模板中加入RSS订阅的代码

打开head.htm模板,在<head></head>之间加入以下代码

  1. <link rel=“alternate” type=“application/rss+xml” title=“RSS” href=“$webdb[www_url]/do/rss.php?fid=$fid” />

2、修改源文件达到输出静态url的目的

打开do/rss.php,找到66行至74行 继续阅读

PHP168设置静态url时需要注意的

最近在接触一款PHP语言的CMS程序 – PHP168,总体感觉还不错,功能很全面。不过使用中遇到的问题也很多,一个一个解决,先说设置静态url的问题。

程序提供的静态网页表现形式可以很自由丰富的定义静态页面的url,支持各种参数。不喜欢废话,下面直接进入主题。

当内容页的静态页面格式设置带有时间和日期参数的标签的时候,如下面的格式:

{$time_Y}{$time_m}/{$id}-{$page}.html

这时候生成的sitemap链接会出现错误,如:

http://www.i0554.com/19700101/1064.html

不知道为什么日期变成了19700101,开始还以为是我看错了。出错的地方应该在 inc/function.inc.php 1103行的get_html_url()函数。简单尝试修改无功而返,最终放弃。

建议不要在PHP168中使用带有日期和时间参数的url,如果你使用了这种格式,偏偏又认为sitemap没说没用的话可以无视。