我這裏有這個捲曲設置捲曲越來越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