Приветствую
Есть небольшой скрипт блокировки нежелательных роботов-ботов по User-Agent:
// массив нежелательных значений
$bad_agents = array('python', 'alexa', 'baidu',);
// получаем user-agent
$agent = $_SERVER['HTTP_USER_AGENT'];
foreach ($bad_agents as $agent) {
if( >>> ??? <<< ){
die();
}
}
Я в PHP не силен. Подскажите пожалуйста какую конкретно функцию, а именно — самую быструю функцию, проверки наличия нежелательного user-agent использовать и возможно ли улучшить этот код или он и так оптимален?
И еще вопрос в догонку: записывал в файл все значения IP-адресов и user-agent, но некоторые строки user-agent почему-то пусты — почему?
...
138.197.65.234 Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
45.55.138.142 Netcraft SSL Server Survey - contact info@netcraft.com
91.224.140.214
212.109.217.105 Needle/1.6.0 (Node.js v6.5.0; linux x64)
138.197.13.157 Python-urllib/2.7
...