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

凨影 950

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

我们正常使用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
      既生瑜何生亮,世上有楼主这样的高人,某怎敢攀比,回个帖灰溜溜的闪人咯!
      亚太地区
      这个人很有个性,连签名都没有!