有木有大佬能告知一下这段代码是什么意思?

function bijia($key, $page = 1, $price1 = 0, $price2 = 0, $order = '')
{
    if (DDMALL == 1)
        return false;
    $url = 'http://xx.网址.com/s.aspx?id=71&key=' . urlencode($key) . '&PageID=' . $page;
    if ($price2 < $price1)
        return false;
    if ($price1 > 0) {
        $url .= '&price1=' . $price1;
    }
    if ($price2 > 0) {
        $url .= '&price2=' . $price2;
    }
    if ($order != '') {
        $url .= '&orderby=' . $order;
    }
    $agent     = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
    $md5       = md5($url);
    $catch_dir = DDROOT . '/data/temp/bijia/' . substr($md5, 0, 2) . '/' . substr($md5, 2, 2) . '/' . $md5 . '.json';
    if (file_exists($catch_dir) && 0) {
        $goods = file_get_contents($catch_dir);
        $goods = dd_json_decode($goods, 1);
    } else {
        if (function_exists('curl_exec')) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_USERAGENT, $agent);
            $a = curl_exec($ch);
        } else {
            $opts    = array(
                'http' => array(
                    'method' => "GET",
                    'header' => "User-Agent: " . $agent
                )
            );
            $context = stream_context_create($opts);
            $a       = file_get_contents($url, false, $context);
        }
        $a = compact_html($a);
        preg_match('/共有(\d+)条记录/', $a, $b);
        $total = $b[1];
        preg_match('/<divid="listpro"(.*)<divid="dispage"style="margin:20px8px;width:600px;/', $a, $html);
        preg_match_all('/<divclass="bjline">(.*?)<divclass=\'clear\'><\/div>/', $html[1], $a);
        $goods = array();
        foreach ($a[1] as $k => $v) {
            preg_match('#<ahref=".*&url=(.*)"target="_blank">.*\'"src="(.*)"class=\'sppicclass\'>.*class="f14sc">(.*)</a><spanstyle.*align=\'absmiddle\'>(.*?)</div></div><divclass=.*<fontclass=\'priceword\'>(.*)</font></div><divclass#', $v, $a);
            if ($a[1] != '') {
                $goods[$k]['url']   = urldecode($a[1]);
                $goods[$k]['img']   = $a[2];
                $goods[$k]['title'] = str_replace('<fontcolor="red">', '<font color="red">', $a[3]);
                $goods[$k]['mall']  = preg_replace('/\(第三方\)|\(自营\)/', '', $a[4]);
                $goods[$k]['price'] = $a[5];
            }
        }
        $goods['total'] = $total;
        create_file($catch_dir, dd_json_encode($goods));
    }
    return $goods;
}

在这部分代码第5行,$url赋值一个网址,然后还用key,请问这段代码是什么意思?(如果能整个代码块大概说明一下更好)而且在下面$url还用$md5加密,这是不是后门啊?如果这是后门怎么进行处理呢?

阅读 2.7k
3 个回答

只不过是模拟火狐浏览器向指定的url发起请求,从该请求的响应体中抓取 商品标题,价格等相关信息,并以json格式存入用md5加密该url的字符串作为文件名的.json文件内。

($url还用$md5加密)这句话,这个应该是发送到这个网址的,然后这个网址可能需要使用key来验证来自于哪里

不清楚这个是不是后门

它读取这个这个文件(`
DDROOT . '/data/temp/bijia/' . substr($md5, 0, 2) . '/' . substr($md5, 2, 2) . '/' . $md5 . '.json';
`)的一些信息,你要确认 这个文件是否是重要的信息,也可能这个只是用来采集一些网站数据信息

建议把写这部分代码的人拖出去枪毙【手动滑稽】

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题