Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[How-To] Ведём log захода в Админ панель...


tim21701

Recommended Posts

Итак, будем вести лог-файл, о попытке захода в административную панель сайта. (Параноикам посвящается!)
Вот, как это будет выглядеть: (показано на локалке)
1) Если кто-то, посчитает себя "особо одарённым" и попытается зайти в папку .../admin - уведомляем нашего "визитёра":

Изображение

Для этого, открываем файл /admin/view/template/common/login.tpl и в самом конце находим строки:
 

</div><?php echo $footer; ?>

Добавляем перед ними следующий код:


<div class="content" style="min-height: 0px; background-color: #fffafa;"><?php$logfile= 'iplog.html';$IP = $_SERVER['REMOTE_ADDR'];$logdetails= '<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #000000;">' . date("F j, g:ia") . ' : <a target="_blank" href=http://www.ip-adress.com/ip_tracer/'.$_SERVER['REMOTE_ADDR'].'>'.$_SERVER['REMOTE_ADDR'].'</a></span>';$fp = fopen($logfile, "a");fwrite($fp, $logdetails);fwrite($fp, "<br />");fclose($fp);?><span style="color:green;"><b>Определение IP адреса:</b></span><br /><iplog><p>Ваш IP адрес (<strong><?php echo $_SERVER['REMOTE_ADDR']; ?></strong>) записан, администрация сайта будет уведомлена о попытке захода в /admin/.</p></iplog></div>

Строки внизу - можно изменить на свои. Что-то типа; "Поздравляем! Ваш IP адрес (такой то) был выбран победителем!" )))))))))

2) На главной странице Панели управления (Dashboard) добавляем таблицу, где будет отображаться все IP адреса "особо одарённых".

Изображение

Если нажать на IP адрес - попадаем на страничку сайта www.ip-adress.com, где показана "Страна", "Город" и "провайдер" этого IP.
Лучше проверить этот IP адрес со списком Ваших покупателей (Продажа > Покупатели) Как добавить столбик с IP адресом покупателя - другая тема...
И если, он принадлежит кому то, из зарегистрированных у Вас клиенов, написать ему об этом письмо... ))


Для этого, открываем файл /admin/view/template/common/home.tpl и находим этот код:


<div class="content"><div style="display: inline-block; width: 100%; margin-bottom: 15px; clear: both;"><div style="float: left; width: 49%;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;"><?php echo $text_overview; ?></div><div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;"><table cellpadding="2" style="width: 100%;"><tr><td width="80%"><?php echo $text_total_sale; ?></td><td align="right"><?php echo $total_sale; ?></td><tr><td><?php echo $text_total_sale_year; ?></td><td align="right"><?php echo $total_sale_year; ?></td></tr><tr><td><?php echo $text_total_order; ?></td><td align="right"><?php echo $total_order; ?></td></tr><tr><td><?php echo $text_total_customer; ?></td><td align="right"><?php echo $total_customer; ?></td></tr><tr><td><?php echo $text_total_customer_approval; ?></td><td align="right"><?php echo $total_customer_approval; ?></td></tr><tr><td><?php echo $text_total_product; ?></td><td align="right"><?php echo $total_product; ?></td></tr><tr><td><?php echo $text_total_review; ?></td><td align="right"><?php echo $total_review; ?></td></tr><tr><td><?php echo $text_total_review_approval; ?></td><td align="right"><?php echo $total_review_approval; ?></td></tr></table></div></div><div style="float: right; width: 49%;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3;"><div style="width: 100%; display: inline-block;"><div style="float: left; font-size: 14px; font-weight: bold; padding: 7px 0px 0px 5px; line-height: 12px;"><?php echo $text_statistics; ?></div><div style="float: right; font-size: 12px; padding: 2px 5px 0px 0px;"><?php echo $entry_range; ?><select id="range" onchange="getSalesChart(this.value)" style="margin: 2px 3px 0 0;"><option value="day"><?php echo $text_day; ?></option><option value="week"><?php echo $text_week; ?></option><option value="month"><?php echo $text_month; ?></option><option value="year"><?php echo $text_year; ?></option></select></div></div></div>

Меняем его на этот:


<div class="content"><div style="display: inline-block; width: 100%; margin-bottom: 15px; clear: both;"><div style="float: left; width: 26%; padding: 4px;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;">Доступ к Панели управления</div><div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;"><iframe src="iplog.html" width="100%" height="100%" frameborder="0"></iframe></div></div><div style="float: left; width: 33%; padding: 4px;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;"><?php echo $text_overview; ?></div><div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;"><table cellpadding="2" style="width: 100%;"><tr><td width="80%"><?php echo $text_total_sale; ?></td><td align="right"><?php echo $total_sale; ?></td><tr><td><?php echo $text_total_sale_year; ?></td><td align="right"><?php echo $total_sale_year; ?></td></tr><tr><td><?php echo $text_total_order; ?></td><td align="right"><?php echo $total_order; ?></td></tr><tr><td><?php echo $text_total_customer; ?></td><td align="right"><?php echo $total_customer; ?></td></tr><tr><td><?php echo $text_total_customer_approval; ?></td><td align="right"><?php echo $total_customer_approval; ?></td></tr><tr><td><?php echo $text_total_product; ?></td><td align="right"><?php echo $total_product; ?></td></tr><tr><td><?php echo $text_total_review; ?></td><td align="right"><?php echo $total_review; ?></td></tr><tr><td><?php echo $text_total_review_approval; ?></td><td align="right"><?php echo $total_review_approval; ?></td></tr></table></div></div><div style="float: right; width: 39%; padding: 4px;"><div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3;"><div style="width: 100%; display: inline-block;"><div style="float: left; font-size: 14px; font-weight: bold; padding: 7px 0px 0px 5px; line-height: 12px;"><?php echo $text_statistics; ?></div><div style="float: right; font-size: 12px; padding: 2px 5px 0px 0px;"><?php echo $entry_range; ?><select id="range" onchange="getSalesChart(this.value)" style="margin: 2px 3px 0 0;"><option value="day"><?php echo $text_day; ?></option><option value="week"><?php echo $text_week; ?></option><option value="month"><?php echo $text_month; ?></option><option value="year"><?php echo $text_year; ?></option></select></div></div></div>

3) После того, как всё сделали, при первом заходе в панель управления, будет создан файл iplog.html (в папке admin), куда будут записываться всё IP адреса.
Откройте его и допишите в самом начале строки:


<html><head><META HTTP-EQUIV="Pragma" CONTENT="no-cache"></head><body onload="javascript:scroll(0,9999999999999999999)"><!--/////Для очистки лог файла - удалите все строки ПОСЛЕ ЭТОГО КОММЕНТА!-->

Этими строками, мы говорим нашему браузеру не кешировать данный файл. И если, в Панели управления (Dashboard) таблица с IP адресами заполнится - она будет автоматически прокручиваться в самый низ - на последнюю запись.

Всё.
Изображение

 

  • +1 2
Надіслати
Поділитися на інших сайтах

последняя версия

при входе в админку выдает под логином и паролем:

Warning: fopen(iplog.html) [function.fopen]: failed to open stream: Permission denied in /home/u*****/****.ru/www/admin/view/template/common/login.tpl on line 51Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/u****/****.ru/www/admin/view/template/common/login.tpl on line 52Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/u***/****.ru/www/admin/view/template/common/login.tpl on line 53Warning: fclose() expects parameter 1 to be resource, boolean given in /home/u2***/***.ru/www/admin/view/template/common/login.tpl on line 54 Определение IP адреса:

Ваш IP адрес (***.***.***.***) записан, администрация сайта будет уведомлена о попытке захода в /admin/.

Надіслати
Поділитися на інших сайтах


уже предпоследняя )) 0.1.7

Странно, ибо, в ней то, как раз и тестировал. Более того, знаю что "некоторые" уже реализовали это у себя, но ошибка только у Вас. Надо бы расспросить, тех - у кого это уже установлено.. У меня она работает и без проблем.

А на счёт v0.1.8 - это не последняя. Скорее это "предрелиз"

:D и ставить его на рабочую машину - не советую. Лучше почитать к ней комменты... Сами поймёте. Ждём обновление от babushka.

Уважаемые пользователи!

Кто ставил у себя "log захода в Админ панель", отпишитесь о работе данного дополнения.

Спасибо.

Надіслати
Поділитися на інших сайтах

akanext, ну неужели так тяжело упаковать ошибки в тэг CODE ?!

скорее всего у вашего скрипта нет прав на создание файла

iplog.html
в директории

admin/
создавайте файл сами и давайте скрипту права на запись в него.

более того. вернул эти два файла в прежнее состояние и теперь при открытии страницы входа в админ панель - пустая страница

магия, что тут скажешь.
Надіслати
Поділитися на інших сайтах

  • 9 months later...
  • 1 month later...

Необходимо уменьшить ширину таблиц:

<div style="float: left; width: 26%; padding: 4px;">
поменяй на 21%

<div style="float: right; width: 39%; padding: 4px;">
поменяй на 42%

P.S. Подскажите пожалуйста как подкорректировать часовой пояс, так как время не правильно показывает.

И сделать так что бы отображался последний вход сверху.

Уважаемые пользователи!

Кто ставил у себя "log захода в Админ панель", отпишитесь о работе данного дополнения.

Спасибо.

Спасибо за дополнение!

Работает отлично, установилось с первого раз, проблем не выявленно.

Змінено користувачем sergey
Надіслати
Поділитися на інших сайтах


  • 3 years later...

Еле еле сделал для 1.5.5.1.2 =)

Может кому пригодится :-)

 

1) Открываем файл /admin/view/template/common/login.tpl и находим строки:

        <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" />
        <?php } ?>
     </form>
    </div> 
 

Добавляем после них

	  <div class="content" style="min-height: 0px; background-color: #fffafa;">
<?php
$logfile= 'iplog.html';
$IP = $_SERVER['REMOTE_ADDR'];
$logdetails= '<span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #000000;">' . date("F j, g:ia") . ' : <a target="_blank" href=http://ipgeobase.ru/?address='.$_SERVER['REMOTE_ADDR'].'>'.$_SERVER['REMOTE_ADDR'].'</a></span>';
$fp = fopen($logfile, "a"); 
fwrite($fp, $logdetails);
fwrite($fp, "<br />");
fclose($fp); 
?> 
<span style="color:green;"><b>Определение IP адреса:</b></span><br /><iplog>
<p>Ваш IP адрес (<span style="color:#ff0000;"><strong><?php echo $_SERVER['REMOTE_ADDR']; ?></strong></span>) записан, администрация сайта будет уведомлена о попытке захода в админ панель.</p></iplog>
</div>

2) Открываем файл /admin/view/template/common/home.tpl и находим строки:

    </div>
    <div class="content">

После них сразу добавляем 

<div style="float: right; width: 17%; padding-left: 2%;">

<div style="background: #547C96; color: #FFF; border-bottom: 1px solid #8EAEC3; padding: 5px; font-size: 14px; font-weight: bold;">Доступ к Панели управления</div>

<div style="background: #FCFCFC; border: 1px solid #8EAEC3; padding: 10px; height: 180px;">

<iframe src="iplog.html" width="100%" height="100%" frameborder="0">

</iframe>

</div>

</div>

3) Чтобы все правильно отображалось открываем файл admin/view/stylesheet/stylesheet.css

находим 

.overview {
	float: left;
	width: 49%;
	margin-bottom: 20px;
}

и 49% меняем на 35%

 

далее находим чуток ниже

.statistic {
	float: right;
	width: 49%;
	margin-bottom: 20px;
}

и 49% меняем на 44%

 

 

4) После того, как всё сделали, при первом заходе в панель управления, будет создан файл iplog.html (в папке admin), куда будут записываться всё IP адреса.

Откройте его и допишите в самом начале строки:

<html>

<head>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

</head>

<body onload="javascript:scroll(0,9999999999999999999)">

<!--/////Для очистки лог файла - удалите все строки ПОСЛЕ ЭТОГО КОММЕНТА!-->

789b7b38de.jpg

Змінено користувачем XXXBOY
  • +1 1
Надіслати
Поділитися на інших сайтах


Вот только не хватает кнопки "очистить"...

 

Да это вроде как и не обязательно, главное - сохранять список IP   :wink:

Но, за пост - отдельно спасибо.)

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

Да действительно. Примочка классная. Все заработало. Но я хочу сказать следующее:

 

1. Это файл в котором делается лог, наверное, нужно было бы запрятать по-дальше, чтобы, зайдя через С-panel на сайт его было бы труднее найти.

2. У себя убрала эту надпись про "Ваш ИД будет там сохранен где-то и кто-то получить там уведомление.". Эта фраза по-моему отпугивает потенциального злоумышленника и он больше не будет пытаться зайти через админку. А так - он будет периодически заходить и даже не замечать, что его логают. Или будет 15 раз пароль перебирать (а вы же его уже поменяли?..), чтобы зайти. Вы все это потом в логе и увидите.

3. После пункта 2 появилась идея еще и записывать в лог все переборы паролей, которые набирают входящие пользователи. Помните, тут на сайте один человек описывал ситуацию, в которой он поставил такую примочку, чтобы словить за руку вора (ну или не вора...). Там так и было - три раза вам выкидывалось сообщение, что мол связка логин-пароль неверная и это заставляло злоумышленника перебирать пароли: думать, что на этом сайте все-таки ПАРОЛЬ1, а на том сайте ПАРОЛЬ2, а может быть и вовсе ПАРОЛЬ3. Все три пароля "падали" в лог. Соответственно лог потом анализировался и было понятно, что связка пароль-логин "DRIVER2"-"12345" явно принадлежит сайту DRIVE.ru, например. А далее уже делались выводы.

 

Но, конечно, сама я такое (пункт3) сделать не смогу.

 

А еще скажите, а как вести лог входов в корень сайта через C-panel? Есть какой-нибудь инструмент?

А есть еще вход в БД сайта, минуя С-panel?

Спасибо.

Надіслати
Поділитися на інших сайтах


1. Главное запрятать его в роботах и закрыть доступ в .htaccess

2. И хорошо, что отпугивает. Лучше пусть отпугивает, чем сервер загружается школьниками, перебирающими пароли.

3. Хорошая идея по поводу записи, но лучше не в лог, так как если не закроешь его, взломщикам поможешь. А если туда пишется и удачная попытка (реального владельца сайта) - можно вообще подарить злоумышленникам свой пароль. Лучше записывать в базу данных. А в лог можно писать MD5 хэш. Это, кстати, неплохая возможность не перебирая пароли на сайте, восстановить свой пароль, если забудешь.

Я так однажды восстанавливал свой пароль - у меня был доступ к базе данных, в которой пароль хранился в MD5, я просто перебрал варианты пароля в он-лайн генераторе MD5 и когда нашел нужное - понял, какой у меня был пароль.

 

Короче, идея хорошая, улучшить - тоже можно.

Отпишитесь, пожалуйста, владельцы магазинов на ocStore 1.5.5.1.2  - вариант XXXBOY стабильный, косяков не обнаружено?

Надіслати
Поділитися на інших сайтах


У меня тоже ocStore 1.5.5.1.2. Работает хорошо. Хелоуин ты мне не ответил: можно ли войти в БД минуя Cpanel? Там есть где нибудь отдельный вход? А то я пароль сменила и в админке и в CPanel, но вот не знаю: может еще где вход есть какой?

Надіслати
Поділитися на інших сайтах


У меня тоже ocStore 1.5.5.1.2. Работает хорошо. Хелоуин ты мне не ответил: можно ли войти в БД минуя Cpanel? Там есть где нибудь отдельный вход? А то я пароль сменила и в админке и в CPanel, но вот не знаю: может еще где вход есть какой?

Пропустил вопрос, не думал, что он именно мне адресован :)

Есть возможность войти через SSH, если хостинг поддерживает SSH туннелирование, если его включить и настроить. Тогда можно не просто войти в базу данных, а можно управлять ей с совершенно посторонней машины и из любой точки мира. Но обычно, на виртуальном хостинге, эта функция отключена и если сам не включишь, скорее всего, бояться нечего. Хотя, ради безопасности, можно поинтересоваться у хостера и, либо попросить его (хостера) закрыть SSH доступ, либо у него же спросить, как его закрыть самостоятельно.

Я лично через SSH сам постоянно работаю, поэтому у меня включено. Мне так удобнее.

Надіслати
Поділитися на інших сайтах


Сегодня некий друг уже заходил с неизвестного ИП. Вот те на... А потом будут подпольные казиношки на сайте появляться...

Сомневаюсь, что через базу данных можно казино к сайту подтянуть.

Такие вещи через брешь на сервере делают, либо сторонние "помощники" подкидывают, например, по продвижению... Просят доступ к FTP, размещают там какую-нибудь папку, ли файл, а дальше - дело техники. Могут даже вас попросить разместить что-нибудь, пояснив, что это для продвижения :)

Можно и скачивая модули на всяких варезах, своими силами себе вредоноса наустанавливать :)

Надіслати
Поділитися на інших сайтах


Нет. Ты не совсем понял: попытка войти была через админку в магазин. Но странно: у меня на сайте не пишет и не предупреждает об логировании входов и пароли в админке я все поменяла. Стало быть любой человек, введя свой (теперь уже старый) пароль и не получая доступа, попробует набрать его заново и тем самым будет дважды залогирован. А там запись только одна!.. Или этот инструмент не логирует второй раз при неправильной связке логин-пароль?

Надіслати
Поділитися на інших сайтах


Нет. Ты не совсем понял: попытка войти была через админку в магазин. Но странно: у меня на сайте не пишет и не предупреждает об логировании входов и пароли в админке я все поменяла. Стало быть любой человек, введя свой (теперь уже старый) пароль и не получая доступа, попробует набрать его заново и тем самым будет дважды залогирован. А там запись только одна!.. Или этот инструмент не логирует второй раз при неправильной связке логин-пароль?

Ну это не ко мне вопрос - я еще не ковырялся в этой фишке.

Логично предположить, что кто-то не смог попасть и не стал пытаться второй раз.

Не менее логично предположить, что у вас лично стоял автовход с сохраненным паролем и вкладка с админкой была не закрыта в браузере и когда вы очередной раз открыли браузер (а пароль-то сменен), автовход не удался, лог записался, а вы просто зашли потом под новым паролем...

Надіслати
Поділитися на інших сайтах


Только она же пишет ИП. Так вот лажу в админку в трех компов и все ИП почти помню наизусть. А тут - совсем иной ИП. Значить это не авто-вход.

Кстати я проверила - если 2-3 раза пробовать войти, то и два три раза будешь отлогирован.

 

Однако, я сама тоже так иногда и делаю. Когда я просматриваю конкурентов, то всегда еще и набираю в браузере такое ЕГО_САЙТ/admin. Я это делаю для того, чтобы посмотреть на каком движке сделан его магазин. Если там привычное окошко - то это ОпенКарт. Ну это так: что бы понять масштаб конкурента. Так может быть и мне так сделали.

 

Плохо одно - зная пароль к базе, можно открыть админку. Это нужно помнить!

Надіслати
Поділитися на інших сайтах


Только она же пишет ИП. Так вот лажу в админку в трех компов и все ИП почти помню наизусть. А тут - совсем иной ИП. Значить это не авто-вход.

Кстати я проверила - если 2-3 раза пробовать войти, то и два три раза будешь отлогирован.

 

Однако, я сама тоже так иногда и делаю. Когда я просматриваю конкурентов, то всегда еще и набираю в браузере такое ЕГО_САЙТ/admin. Я это делаю для того, чтобы посмотреть на каком движке сделан его магазин. Если там привычное окошко - то это ОпенКарт. Ну это так: что бы понять масштаб конкурента. Так может быть и мне так сделали.

 

Плохо одно - зная пароль к базе, можно открыть админку. Это нужно помнить!

 

Ставьте разные пароли и не сообщайте их никому.

А чтобы посмотреть, на каком движке сделан сайт конкурента (или вообще чей угодно), достаточно установить для браузера приложение Wappalyzer - он и движок покажет, и примочки разные... (у меня Wappalyzer установлен в Chrome)

Вот, например, что он сообщает о данном форуме:

4xGIpOuR.jpg

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.