Написал скрипт, есть необходимость проверить пришедший на него post запрос на наличие домена в блек листе. Т.е. создаю блек лист (к примеру, файл) с доменами: ya.ru,google.com и т.д.
В момент обработки скрипта, нужно выполнить проверку пришедшего в post - url, если домен в блек листе - вывести сообщение и не исполнять скрипт ниже, если домена нет в блек листе - выполнить весь скрипт (глобальный блек лист). Можно это осуществить?
И еще, день вожусь и не могу без ошибок сделать проверку на тег внутри <head>...</head>
,
т.е. в <head>...</head>
есть тег noindex, нужно как и в первом варианте остановить обработку скрипта ниже и выполнить редирект на пришедший в post - url адрес, если noindex нет - выполнить весь скрипт.
Кучу вариантов перепробовал, получается частями и ошибок куча.
Полный ответ не дам - сам не шарю.
script.php
<?php
$blackList = array(
'ya.ru',
'google.com',
);
if (isset($_POST['url'])) {
// Очень упрощенный вариант
$domain = kak_to_tam_vstroennoy_php_funkciey_poluchit_domen($_POST['url']);
if (in_array($domain, $blackList)) {
echo 'Сайт в черном списке';
return;
}
}
echo 'Скрипт выполняется дальше';
По второму, навена подойдет phpQuery
. Довольно просто с запросом примерного вида html > head > meta[value="noindex"]
для проверки такого тега на странице. Код не смогу предоставить.
Для самобытного варианта по усложненней переиничать $blackList в
$blackList = array(
'#^https?\://ya\.ru#i',
'#^https?\://google\.com#i'
);
и дальше вместо
if (in_array($domain, $blackList)) {
echo 'Сайт в черном списке';
return;
}
писать
$blackListed = false;
foreach($blackList as $item) {
if (preg_match($item, $domain)) {
$blackListed = true;
break;
}
}
if ($blackListed) {
echo 'Сайт в черном списке';
return;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня нарисовалась мелкая, но неприятная помарка при выводе датыНа странице меток пункты списка должны выглядеть так: