国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

方維購(gòu)物分享漏洞bug“喜歡分享的會(huì)員還喜歡”

2024-04-25 20:44:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

不知道是客戶(hù)自身數(shù)據(jù)的問(wèn)題還是方維程序的問(wèn)題,今天有客戶(hù)反映,在瀏覽別人的 個(gè)人中心->寶貝 這個(gè)頁(yè)面時(shí),點(diǎn)擊右邊分享的寶貝時(shí),如果該寶貝是被喜歡的,就會(huì)出現(xiàn)數(shù)據(jù)庫(kù)查詢(xún)錯(cuò)誤:

該訪問(wèn)鏈接是:

http://www.xxxxxxx.com/note.php?action=g&sid=12645&id=6757

錯(cuò)誤信息:

  • [Type] dbquery_error
  • [1064] 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 ‘) LIMIT 0,20′ at line 1
  • [Query] SELECT share_id,uid,content,collect_count,comment_count,create_time,cache_data FROM share WHERE share_id IN (12654,12651,12649,12647,12644,12600,12599,12495,12493,12491,12489,12486,12485,12484,12481,12480,12478,12476,12475,) LIMIT 0,20

sql語(yǔ)句很明顯的錯(cuò)誤,是在in()括號(hào)中最后一個(gè)值后面多了一個(gè)“,”號(hào),

這條查詢(xún)語(yǔ)句的位置在:

core/service/share.service.php文件的 public function getCollectShareByShare($share_id,$num = 20)函數(shù)中,

注意下面紅色字體

if(count($uids) > 0)
   {
    $share_ids = array();
    $res = FDB::query(‘SELECT GROUP_CONCAT(DISTINCT sgi.share_id
      ORDER BY sgi.share_id DESC SEPARATOR /’,/’) AS share_ids,sgi.uid
     FROM ‘.FDB::table(‘user_collect’).’ AS uc
     INNER JOIN ‘.FDB::table(‘share_goods_index’).’ AS sgi ON sgi.share_id = uc.share_id AND sgi.share_id <> ‘.$share_id.’
     WHERE uc.c_uid IN (‘.implode(‘,’,$uids).’) GROUP BY sgi.uid LIMIT 0,’.$num);
    while($data = FDB::fetch($res))
    {
     $share_ids = explode(‘,’,$data['share_ids']);
     $share_ids[] = (int)current($share_ids);

    }
    $share_ids = array_unique($share_ids); //源代碼中,只是過(guò)濾掉了數(shù)組中的重復(fù)值
    $share_ids = array_filter($share_ids);  //這句代碼是我后來(lái)添加的,過(guò)濾掉了數(shù)組中的空值,這樣程序就可以正常執(zhí)行了
    if(count($share_ids) > 0)
    {
     $list = FDB::fetchAll(‘SELECT share_id,uid,content,collect_count,comment_count,create_time,cache_data FROM ‘.FDB::table(‘share’).’ WHERE share_id IN (‘.implode(‘,’,$share_ids).’) LIMIT 0,’.$num);
     $list = ShareService::getShareDetailList($list);
    }

 不管這個(gè)問(wèn)題是不是客戶(hù)由于操作數(shù)據(jù)庫(kù)失誤導(dǎo)致的,我想都應(yīng)該對(duì)查詢(xún)得到的數(shù)據(jù)數(shù)組,進(jìn)行空值過(guò)濾。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南安市| 通榆县| 台前县| 乌苏市| 宁化县| 大英县| 卫辉市| 五大连池市| 大关县| 嘉禾县| 浪卡子县| 石门县| 容城县| 石景山区| 深圳市| 堆龙德庆县| 琼结县| 梧州市| 淮滨县| 连江县| 巴林左旗| 中阳县| 潞西市| 于都县| 陵水| 临清市| 周至县| 太保市| 宝应县| 洛宁县| 威远县| 西充县| 彰化市| 哈尔滨市| 海兴县| 托克托县| 大兴区| 麦盖提县| 博乐市| 盐源县| SHOW|