国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 四川省| 东至县| 柘荣县| 德令哈市| 靖江市| 灌南县| 扎兰屯市| 黑水县| 板桥市| 沅陵县| 彭山县| 新闻| 南皮县| 霞浦县| 平江县| 公安县| 陈巴尔虎旗| 嘉兴市| 贞丰县| 桐城市| 盘山县| 岑溪市| 静宁县| 铁力市| 泰安市| 资源县| 綦江县| 太康县| 京山县| 萍乡市| 应城市| 朝阳市| 华坪县| 清丰县| 崇礼县| 定安县| 汉阴县| 阿克陶县| 新河县| 龙井市| 平凉市|