незнаю как остальные, но я нечё не понял из того что ты хочешь, в любом случае, 1) строка это массив из char, так что составляй нужное условие и юзай как массив, или 2) используй explode если нужно занести в массив отдельно каждое слово
заметил что в логах не у всех фиксируется хост, вместо имени провайдера пишется Ip. из за чего такое может быть ? и как определить хост у них ? например вместо ppp158-255-172-189.pppoe.spdop.ru показывается обычный ip 107.170.106.236 - такой же как если бы определял только ip определяю так: PHP: <?php echo $host = gethostbyaddr($_SERVER['REMOTE_ADDR']);?>
чем можно отличить, посещение сайта ботом, если useragent пользовательский ? есть страница в которую вставлен iframe страница ведёт логирование, нужно фиксировать в логи прочитан был ли iframe при загрузки данной страницы нужно всё сделать без cookies и js. можно ли реализовать такую проверку только на php без cookies?
проверяю работу блокировки по реферер, если например запретить в списке доступ с домена первго уровня .uk, то блокирует кроме него любой url где содержится uk слово в списке прописано всё с маской: *.uk должно блокировать все домены заканчивающиеся на .uk PHP: <php? //проверка referer $mask_ref_dir = $_SERVER['DOCUMENT_ROOT'] .'/spisok/'.'referers.txt'; $a001 = '1'; $b002 = '0'; $file_ref_mask = array_map('trim', file($mask_ref_dir)); #загоняем файл в массив foreach ($file_ref_mask as $expression_ref) #цикл - обработка каждого элемента массива { $expression_ref = str_replace('.', '\.', $expression_ref); #подгоняем строку под регулярку $expression_ref = str_replace('/', '\/', $expression_ref); #подгоняем строку под регулярку $expression_ref = str_replace('*', '(.*)', $expression_ref); #подгоняем строку под регулярку if (preg_match('#' . $expression_ref . '#', $_SERVER['HTTP_REFERER'])) #проверяем реферер по регулярке { header("X-Frame-Options: DENY"); header('Content-Type: text/html; charset=UTF-8'); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); // HTTP/1.1 header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT"); header('X-Powered-By: BAN REFERER'); header($_SERVER['SERVER_PROTOCOL'] . '404 Not Found'); header('HTTP/1.1 404 Not Found'); header('Status: 404 Not Found'); echo '<meta http-equiv="refresh" content="0; url='.$redirect.'">'; exit(); $b002='1'; } } if ($a001 > $b002) { // } ?> поправьте пожалуйста
Так не легче? PHP: if(end(explode('.', parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST))) == 'ru') $ban = true;
нужно что бы была возможность постановки маски, что бы блокировать домены, поддомены, часть имени домена, корневой домен, в моём коде маска не действует...
Так разбей просто на составляющие и бегай по массиву, сравнивая с регуляркой каждый домен, только сделай реверс массива
Как взять произвольный файл из директории не зная его названия, и занести дату его создания в переменную.
Code: $filename = 'index.php'; if (file_exists($filename)) { filemtime($filename)); } touch ('file.php', strtotime('$filename')); почему то вместо даты изменения индекса , 1969 год ставит
Читай справочник, все корректно расписано с примером! http://ru2.php.net/manual/ru/function.filemtime.php P.S: Чуствую еще может возникнуть вопрос по strtotime, об этом также читаем в справочнике с примерами http://ru2.php.net/manual/en/function.strtotime.php
Code: <?php $filename = 'index.php'; $date = 'echo "". date ("Y-m-d H:i:s", filemtime($filename))'; touch ('file.php', strtotime('$date')); ?> что не так не могу понять
имеется поле test, utf8-generalci 2C - записывается как 2\u0<какие-то еще цифры, не помню>- странно, Ну это ладно.... Проблема в том, что: Делаю выборку из БД и перезаписываю параметр - "\" исчезает... Если добавить функцию mysql_escape_string, то раз через раз, появляется слеш Как с этим побороться?
$param_test = text'; М? Может очепятка или у тебя в скрипте это? Тогда синтаксическая ошибка. Даже античатовский синтаксис подсвечивает.
Слабо понял, чего ты хочешь.... Но вдруг угадаю, твой вопрос $a = 1 echo 'var: $a'; // выведет var: $a echo 'var: '.$a; // выведет var: 1 echo "var: $a"; // выведет var: 1 p,s, к постуу выше
php код в htaccess можно ли исполнять php код в .htaccess ? нужно подключить geoip, и редиректить не phpшными страницами а через apache или как взаимодействовать на .htaccess через php, что бы каждый запрос - проверяется через api и если не соответствует то .htaccess выдаёт код 404 и редиректит на соответственную страницу
GAiN, как вариант установить mod_geoip и тогда можно редиректить через .htaccess RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^RU$ RewriteRule ^(.*)$ http://www.canada.com$1 [L]
нужно проверить реферер по шаблону, например если в txt списке файлов реферер, а именно не полный реферер, а часть его, например forum. совпадёт по части и будет содержаться в переменной http_referer то отфильтровать, скрипт должен выдать вхождение найдено. как проводить разделение переменной $_SERVER[" HTTP_REFERER"] на состовляющие ? PHP: <?php header("Content-Type: text/html; charset=utf-8"); $file_content = file_get_contents($_SERVER['DOCUMENT_ROOT'] .'/referer.txt'); $word_name = $_SERVER[" HTTP_REFERER"]; $search_fraza = $file_content; if (preg_match("/\b$word_name\b/i", "$search_fraza")) { echo "Вхождение найдено."; } else { echo "Вхождение не найдено."; } сейчас код работает если совпадает полностью реферер со списком