Discuz中,通过 查看大图 的方式会导致包裹的收费的图片泄露
解决方法:
[myhide]123
$post['message'] = cutstr(strip_tags(preg_replace('/(<ignore_js_o
// --------------------------------------------------------------------
preg_match_all('/<img\s+([^>]+)>/', $post['message'], $matches);
$files = array();
foreach ($matches[1] as $match) {
if(!defined('IN_MOBILE')){
preg_match('/file\s*=\s*"(.*?)"/', $match, $file_match);
}else{
preg_match('/src\s*=\s*"(.*?)"/', $match, $file_match);
}
if (isset($file_match[1])) {
$files[] = $file_match[1];
}
}
// ------------------------------------------------------------------
$apids[] = $attach['pid'];
// --------------------------------------------------------------------
$intersect = array_intersect($imglist['url'], $files);
$result = array();
foreach ($imglist['aid'] as $key => $aid) {
if (in_array($imglist['url'][$key], $intersect)) {
$result['aid'][] = $aid;
$result['url'][] = $imglist['url'][$key];
}
}
$imglist = $result;
// --------------------------------------------------------------------
|