卷曲越来越HEAD时间太长多个URL
问题描述:
我这里有这个卷曲设置卷曲越来越HEAD时间太长多个URL
function curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
$ct = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
return $ct;
}
我用它来得到Content-Type
这个值返回给用户。只是为了让那些想要检查所有网址是否为有效链接或有效图像链接与否的人感到轻松。
所以我的代码是
if(isset($_POST['urls'])) {
foreach ($urls as $url) {
echo "Content Type is ".curl($url)."<br>";
}
}
我的问题是,如果用户输入100 URL ~ 500 URL
需要10s ~ 15s
完成功能。
我该如何优化功能,并且因为我的网络连接速度而慢?
它会被用于DDoS
攻击,最好删除它?
并行化:http://php.net/manual/en/function.curl-multi-init.php – ceejayoz
(是的,这可以令人信服地用于DDoS的考虑速率限制你的用户,如果你正在做。这提供给一般不可信任的公众)。 – ceejayoz
@ceejayoz如果用户可以多次放置'500 URL',并重复和重复,那很不好? (限制:500) – AXAI