在使用 Acunetix 扫描我们的代码以查找漏洞后,我们遇到了以下脚本的问题:
“针对域 hit0yPI7kOCzl.bxss.me 发起了一个 HTTP 请求,这表明该脚本容易受到 SSRF(服务器端请求伪造)的攻击。”
我怎样才能防止这种情况?
<?php
$filename = strip_tags($_GET['url']);
if (substr($filename,0,4) !== 'http') {
die("Need a valid URL...");
}
$ext = pathinfo($filename, PATHINFO_EXTENSION);
switch ($ext) {
case "gif":
header('Content-Type: image/gif');
readfile($filename);
break;
case "png":
header('Content-Type: image/png');
readfile($filename);
break;
case "jpg":
default:
header('Content-Type: image/jpeg');
readfile($filename);
break;
}
?>