我们正常使用TAG筛选时URL应该是/forum-1-1.htm?tagids=1这样的,当有人恶意使用/forum-1-0.htm?tagids=1访问的时候,由于找不到页码导致SQL查询起始数字变成-20,从而导致数据库报1064错误,这个错误可以从/log/db_error.php查看
修复解决办法很简单,当$page为空的时候,赋予$page一个默认值,
加一个钩子 forum_top_list_before.php即可解决。
或者直接打开/route/forum.php
在$page = param(2, 1);下面添加如下代码即可。
PS:建议使用钩子,尽量不要修改系统文件。
暂无评论