Reademonster

Reademonster
Рейтинг
17
Регистрация
30.06.2014
Интересы
Рок, seo, люблю сидеть часами и пытаться исправить какой нибудь баг, пытаюсь научиться психологии
Зовут меня Данил, 16 лет есть свой портал о игре Minecraft. Обожаю рок, иду в техникум на системного инженера

Прошёл месяц наполнения, все новости были написаны в срок, подобраны тематические видео и картинки, отличное качество и цена

senks777:
берём файл '.htaccess' и кладем данные в массив построчно

$filepatch = $_SERVER['DOCUMENT_ROOT'] . '/.htaccess';
$content = file_get_contents($filepatch);
$content = explode("\n" , $content);

берем нужную строку $content[252] (потому как массив начинается с 0)

// проверяем существование строки
if (array_key_exists(252, $content)) {

// добавляем $ip к строке
$content[252] .= ' '.$ip;

// пишем в файл
file_put_contents($filepatch, join("\n", $content));
}

НО! этот способ с работает верно если строка - deny from IP IP IP, всегда будет 253

иначе и правильнее, прочитать и парсить нужную строку в .htaccess с помощью preg_match()
затем изменять и перезаписывать .htaccess

а это уж немного другой вопрос и код..

P.S. код на странице закомментировать
Собственно.. как говориться "Не зная брода, не лезь в воду"..

это я к тому что выше приведен код в котором нет строки 253, но есть код который добавляет в конец файла .htaccess
директивы доступа к файлу (admin|12312426)\.php c указанных IP..

а это половина информации..

нужная для изменяемая строка 253 находится в файле .htaccess код которого отсутствует..
поэтому более точно ответить не просто.

Спасибо огромное, всё работает как надо

Так как сделать чтобы писало в 253 строку?

VHS:
Вообще не работает? )))) Ничего не происходит? ))))
$ip = getenv ("REMOTE_ADDR"); включил в код?

Да, при запуске скрипта файл полностью отчищается. Так быть не должно))

VHS:
$fcontents = implode ('', file('banip.txt')); // считали файл в массив


// тут откроем для записи файл или что-то еще сделаем
$log = fopen("banip.txt", "w+");
foreach($fcontents as $k=>$v){
if($k ==252) {
fwrite($log, "// ".$ip."\n");
}
fwrite($log, "// ".$v."\n");
}

fclose($log);



Написано на коленке, при кривом исполнении файл можно потерять, лучше через копию делать, но принцип примерно такой

Не работает

webitkz:
Пожалуйста

Запрещает доступ ко всем файлам с расширением .php и содержащим в начале слово "admin"

Возможно сделать также но с файлами admin.php и filehhff.php ?

Если кто силён в PHP можете привентить к скрипту проверку существования сайта

<?php
$downloadlink = createInstallmonsterDownloadLink('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 'archive');
$downloadlink2 = profitraf_get_download_url('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 3596615, 'archive');


$file = '$downloadlink';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$urltodownload = $downloadlink2;
}
else {
$urltodownload = $downloadlink;
}
?>

Ссылка партнёрки генерируется функциями

createInstallmonsterDownloadLink('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 'archive');
profitraf_get_download_url('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 3596615, 'archive');

Есть 2 партнёрки и мне нужно сделать так чтобы если 1 партнёрка не работает (отдаёт код отличный от 200 или 404) то устанавливалась 2 ссылка

Сейчас я это реализовал вот так

<?php
$downloadlink = createInstallmonsterDownloadLink('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 'archive');
$downloadlink2 = profitraf_get_download_url('http://site.ru/uploads/download/[xfvalue_download]', '[xfvalue_download]', 3596615, 'archive');


$file = '$downloadlink';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$urltodownload = $downloadlink2;
}
else {
$urltodownload = $downloadlink;
}
?>

Но вот беда, если сайт не отвечает или его вообще нет то устанавливается $downloadlink, а должен $downloadlink2 так как $downloadlink не отвечает

Надеюсь понятно обьяснил

А как поступить если сайт вообще не доступен, допустим указан неверный сайт и он вообще ничего не возвращает в ответ

123 4
Всего: 38