1、文件:app/controller/api/v1/PublicController.php
找到方法:
get_image_base64
增加如下代碼段:
if ($imageUrl !== '' && !preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $imageUrl)) {
return app('json')->success(['code' => false, 'image' => false]);
}
if ($codeUrl !== '' && !(preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $codeUrl) || strpos($codeUrl, 'https://mp.weixin.qq.com/cgi-bin/showqrcode') !== false)) {
return app('json')->success(['code' => false, 'image' => false]);
}
增加后如下圖所示:
2、文件:crmeb/services/DownloadImageService.php
找到方法:
downloadImage
復(fù)制下面代碼段替換:
if (!$name) {
// 獲取要下載的文件名稱
$downloadImageInfo = $this->getImageExtname($url);
$ext = $downloadImageInfo['ext_name'];
$name = $downloadImageInfo['file_name'];
if (!$name) throw new ValidateException('上傳圖片不存在');
} else {
$ext = $this->getImageExtname($name)['ext_name'];
}
if (!in_array($ext, ['png', 'jpg', 'jpeg', 'gif'])) {
throw new ValidateException('格式錯(cuò)誤,文件后綴不允許');
}
替換后如下圖所示:
3、都替換完成后,需要重啟swoole