- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Помогите с PHP скриптом, нужно реализовать запись в определённую строку (253). Сейчас записывается в конец файла.
<?php
//Авто бан людей который хотят попасть в админку admin.php
$ip = getenv ("REMOTE_ADDR");
$log = fopen("banip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);
$f = fopen($_SERVER['DOCUMENT_ROOT'] . '/.htaccess', "a");
fwrite($f, "\n");
fwrite($f, '<files ~ "(admin|12312426)\.php">');
fwrite($f, "\ndeny from " . $ip);
fwrite($f, "\n</files>");
fclose($f);
echo <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DataLife Engine - Панель управления</title>
<meta content="text/html; charset=windows-1251" http-equiv="content-type" />
<style type="text/css">
html,body{
width:100%;
margin:0px;
padding: 0px;
background: #F4F3EE;
font-size: 11px;
font-family: verdana;
}
#login-box {
width:447px;
height:377px;
margin:10% auto 0 auto;
background:#FFFFFF;
}
form {
margin:0px;
padding: 0px;
}
input,
select {
color: #000000;
outline:none;
}
input[type="text"],
input[type="password"],
select {
width:340px;
background-color: #FFFFFF;
color: #000000;
font-size: 18px;
font-family: verdana;
font-weight: bold;
border: none;
margin-top: 20px;
margin-left: 60px;
}
input[type="checkbox"] {
padding:0px;
margin-top: 25px;
}
label {
padding:0px;
margin:0px;
}
.error {
padding-top: 75px;
padding-left: 27px;
}
</style>
</head>
<body>
<form name="login" action="" method="post"><input type="hidden" name="subaction" value="dologin">
<div id="login-box">
<div style="width:447px;height:95px;background: url(engine/skins/images/loginheader.png);"><a href="http://dle-news.ru/" style="display:block; float:right;width:90px;height:90px;" target="_blank"></a><div class="error"></div></div>
<div style="width:447px;height:66px;background: url(engine/skins/images/loginbox1.png);"><input type="text" name="username"></div>
<div style="width:447px;height:67px;background: url(engine/skins/images/loginbox3.png);"><input type="password" name="password"></div>
<div style="width:447px;height:67px;background: url(engine/skins/images/loginbox4.png);"><select name="selected_language">
<option value="Russian" selected >Russian</option>
</select></div>
<div style="width:37px;height:82px;float:left;background: url(engine/skins/images/loginbox6.png);"></div>
<div style="width:283px;height:82px;float:left;background: url(engine/skins/images/loginbox7.png);"><input type="checkbox" name="login_not_save" id="login_not_save" value="1"/><label for="login_not_save"> Чужой компьютер</label></div>
<div style="width:102px;height:82px;float:left;"><input type="image" src="engine/skins/images/loginbox8.png"></div>
<div style="width:25px;height:82px;float:right;background: url(engine/skins/images/loginbox5.png);"></div>
</div></form>
</body>
</html>
HTML;
?>
Написано на коленке, при кривом исполнении файл можно потерять, лучше через копию делать, но принцип примерно такой
Написано на коленке, при кривом исполнении файл можно потерять, лучше через копию делать, но принцип примерно такой
Не работает
Не работает
Вообще не работает? )))) Ничего не происходит? ))))
$ip = getenv ("REMOTE_ADDR"); включил в код?
Вообще не работает? )))) Ничего не происходит? ))))
$ip = getenv ("REMOTE_ADDR"); включил в код?
Да, при запуске скрипта файл полностью отчищается. Так быть не должно))
Написано на коленке, при кривом исполнении файл можно потерять, лучше через копию делать, но принцип примерно такой
А зачем тут implode? При помощи file() получаем массив, по индексу заменяем элемент.
А зачем тут implode? При помощи file() получаем массив, по индексу заменяем элемент.
Это я неудачно скопипастил ))) конечно без имплод, он вытягивает весь файл в строку.
---------- Добавлено 07.07.2015 в 20:05 ----------
И как этот код вставит айпи адрес в 253 строку?
Так как сделать чтобы писало в 253 строку?
реализовать запись в определённую строку (253)
берём файл ('.htaccess' || "banip.txt") и кладем данные в массив построчно
берем 223-ю строку $content[252] (потому как массив начинается с 0)
НО! этот способ с работает верно если строка - deny from IP IP IP, всегда будет 253
иначе и правильнее, прочитать и парсить нужную строку в '.htaccess' или "banip.txt" с помощью preg_match()
затем изменять и перезаписывать .htaccess
а это уж немного другой вопрос и код..
P.S. код на странице закомментировать
Собственно.. как говориться "Не зная брода, не лезь в воду"..
это я к тому что выше приведен код в котором нет строки 253,
но есть код который добавляет в конец файла .htaccess директивы доступа к файлу (admin|12312426)\.php c указанных IP..
..и код записи в "banip.txt"
а это только половина информации..
нужная для изменяемая строка находится в файле ('.htaccess' || "banip.txt")
фрагмент которого с 253-й строкой отсутствует в посте..
поэтому более точно угадать не просто.
берём файл '.htaccess' и кладем данные в массив построчно
берем нужную строку $content[252] (потому как массив начинается с 0)
НО! этот способ с работает верно если строка - deny from IP IP IP, всегда будет 253
иначе и правильнее, прочитать и парсить нужную строку в .htaccess с помощью preg_match()
затем изменять и перезаписывать .htaccess
а это уж немного другой вопрос и код..
P.S. код на странице закомментировать
Собственно.. как говориться "Не зная брода, не лезь в воду"..
это я к тому что выше приведен код в котором нет строки 253, но есть код который добавляет в конец файла .htaccess
директивы доступа к файлу (admin|12312426)\.php c указанных IP..
а это половина информации..
нужная для изменяемая строка 253 находится в файле .htaccess код которого отсутствует..
поэтому более точно ответить не просто.
Спасибо огромное, всё работает как надо