XIUNOBBS板块页获取不到页码导致数据库1064错误解决办法

凨影 781

我们正常使用TAG筛选时URL应该是/forum-1-1.htm?tagids=1这样的,当有人恶意使用/forum-1-0.htm?tagids=1访问的时候,由于找不到页码导致SQL查询起始数字变成-20,从而导致数据库报1064错误,这个错误可以从/log/db_error.php查看

SQL:SELECT tid FROM bbs_tag_thread WHERE tagid="2" ORDER BY tid DESC LIMIT -20, 20 
errno: 1064, 
errstr: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "-20, 20" at line 1

修复解决办法很简单,当$page为空的时候,赋予$page一个默认值,

加一个钩子 forum_top_list_before.php即可解决。

<?php exit;
empty($page) AND $page = 1;
?>

或者直接打开/route/forum.php

$page = param(2, 1);下面添加如下代码即可。

empty($page) AND $page = 1;

PS:建议使用钩子,尽量不要修改系统文件。

TAGS

联系QQ:77798085 赞助请点这里
管理员回复
全部回复 (10)
  • 马里奥先森 2020-5-28
    2
    nice!!
    广东
    这个人很有个性,连签名都没有!
  • 3t2y 2020-6-3
    3
    赠人玫瑰, 手留余香!
    亚太地区
    这个人很有个性,连签名都没有!
  • 35430981qqcom 2020-6-4
    4
    小手一抖, 金币到手!
    亚太地区
    这个人很有个性,连签名都没有!
  • 1013301358 2020-6-14
    5
    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶!
    亚太地区
    这个人很有个性,连签名都没有!
  • 5422 2020-6-16
    6
    你就是我心中的那首忐忑,总是让我惊心动魄。
    亚太地区
    这个人很有个性,连签名都没有!
  • 二点零 2020-6-16
    7
    宁可少抽一支,不可少顶一次贴。
    亚太地区
    这个人很有个性,连签名都没有!
  • cndns 2020-6-18
    8
    小手一抖, 金币到手!
    亚太地区
    这个人很有个性,连签名都没有!
  • eren520 2020-6-18
    9
    心随我动,想回就回。
    亚太地区
    这个人很有个性,连签名都没有!
  • protect 2020-6-19
    10
    在下对你的景仰之情有如滔滔长江之水,连绵不绝……又如黄河泛滥,一发不可收拾……
    亚太地区
    这个人很有个性,连签名都没有!
  • shixing568 2020-6-19
    11
    既生瑜何生亮,世上有楼主这样的高人,某怎敢攀比,回个帖灰溜溜的闪人咯!
    亚太地区
    这个人很有个性,连签名都没有!