提交 38867224 编写于 作者: D Devil

文件下载安全优化

上级 507d511c
......@@ -56,13 +56,12 @@ class QrCode extends Common
public function Download()
{
$params = input();
if(empty($params['url']))
$ret = (new \base\Qrcode())->Download($params);
if(!empty($ret) && isset($ret['code']) && $ret['code'] != 0)
{
$this->assign('msg', 'url参数为空');
$this->assign('msg', $ret['msg']);
return $this->fetch('public/tips_error');
}
(new \base\Qrcode())->Download($params);
}
}
?>
\ No newline at end of file
......@@ -180,7 +180,17 @@ class Qrcode
public function Download($params = [])
{
// 图片地址
$url = base64_decode(urldecode($params['url']));
$url = empty($params['url']) ? '' : base64_decode(urldecode($params['url']));
if(empty($url))
{
return DataReturn('url地址有误', -1);
}
// 域名验证、仅支持下载当前域名下的文件
if(GetUrlHost(__MY_HOST__) != GetUrlHost($url))
{
return DataReturn('url地址非法', -1);
}
// 随机文件名
$filename = empty($params['filename']) ? date('YmdHis').GetNumberCode().'.png' : $params['filename'].'.png';
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册