Новый вход в АЦ - part III

+27
2.25K
Друзья, доброго дня!
Хочу предложить свою наработку, к которой подтолкнули давеча уважаемые коллеги по icms.

Иллюстрация


Итак начнем, идея заключается в том, чтобы немного затруднить доступ к админке через sms, конечно это не очень красивое решение, но уже рабочее, возможно как будет время попробую доработать еще.

для iCMS 1.10.2

Что умеем сейчас,
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


Друзья! Обязательно сделайте бЭкапп файла из папки admin/login.php при ошибках сразу сможете вернуть все назад!
Ставим все на свой страх и риск :)

ЗЫ: сразу хочу оговориться, что используется $_SESSION и header("Location:...) которые могут некорректно работать при отключенных куках а так же не работать редирект. У меня пока ттт все работает, так что сильно шапками не закидывайте
ЗЫ2: профи, если не сложно проверьте пжста код, я не шибкий мастер😊учусь починять примус...

Всем спасибо.
+1
asa asa 11 лет назад #
Вот это уже шаг вперед!
""
0
Бурдель Дмитрий Бурдель Дмитрий 11 лет назад #
и скопировать Ваш api_id: s96qw29r-z95d-oaj8-2f9l-1976x5ik492q (примерно такой) его надо будет вставить в файле sendsms.php

А это нормальный id? У меня недавно вирус на компе был и в админке такая же фигня видна была. и меня это смутило, комп почистил, вирус удалил и id в порядок пришел.
0
Бурдель Дмитрий Бурдель Дмитрий 11 лет назад #
а так идея хорошая +
+1
Nemoi Nemoi 11 лет назад #
это пример id, нормальный на сайте по ссылке
0
oll oll 11 лет назад #
Обязательно протестирую .Вот это уже, заявка на зрелость!
+3
stealthdebuger stealthdebuger 11 лет назад #
1. Стоило бы упомянуть, под какую версию код, что в архиве.
login.php в кодировке UTF-8, из чего можно предположить что под ICMS 1.10.x
sendsms.php в кодировке ANSI и для отправки запросов используется iconv()... видать с починкой примусов тоже не все так гладко.
Вот таким образом можно определить какая кодировка ICMS:
$charset = 'windows-1251';
$utf = false;
$s = file_get_contents('./index.php');
if(preg_match('#.#u', $s)) {
$charset = 'utf-8';
$utf = true;
}

2. Следует учитывать, что на некоторых параноидальных хостингах file_get_contents() может не обрабатывать URI из-за отключенного allow_url_fopen. В связи с этим, лучше использовать cURL для получения более универсального решения.
В качестве примера:
function getURL($URL) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$co = curl_exec($ch);
curl_close($ch);
return $co;
}

P.S. В следующий раз, лучше подумайте над материалом, прежде чем спешить публиковать его.
0
Nemoi Nemoi 11 лет назад #
1. кодировка как не странно не влияет на те смс которые приходят, по сути я думаю не сильно сложно пересохранить в utf без BOM файл sendsms.php

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

2. возможно и такое, надеюсь, что редко кто использует параноидальный хостинг :)

ЗЫ: тесты проведенные мной показали 100% работу написанного smile а так от Вас ни кто требует ставить, есть куча решений как закрыть админку, это одно из
0
picaboo picaboo 11 лет назад #
Я тихо офигеваю, как парни готовы заморочится, лишь бы не знать что такое htpasswd и к какому месту его прикладывать
0
stealthdebuger stealthdebuger 11 лет назад #

Конечно лучше тихо, чем пытаться объяснить зачем выносить вверх htpasswd, какие права на какие папки и какие файлы надо ставить, и какие последствия могут быть.

0
picaboo picaboo 11 лет назад #
зачем выносить вверх htpasswd, какие права на какие папки и какие файлы надо ставить, и какие последствия могут быть.

да ну, ну готов послушать какие права и куда надо поставить и какие такие ужасные последствия ожидают.

в htacess прописываем и кидаем его в папку
Код PHP:
  1. AuthName "Доступ запрещен"
  2. AuthType Basic
  3. Require valid-user
  4. AuthUserFile "полный_путь_к _файлу_.htpasswd"
htpasswd желательно размещать выше корня папки. всё. все телодвижения. ровно два.

если конкретный файл закрыть надо

Код PHP:
  1. <Files admin.php>
  2. AuthType Basic
  3. AuthName "Private zone. Only for administrator!"
  4. AuthUserFile /usr/host/mysite/.htpasswd
  5. require valid-user
  6. </Files>
0
stealthdebuger stealthdebuger 11 лет назад #
Цитировать надо было не часть фразы, а полную.
Возможно тогда стало бы понятно, что мои слова были обращены к фразе "Я тихо офигеваю", а не сомнению в ваших познаниях. Хотя... вот прямо в данный момент они и возникли. Человек, пришедший со срача и полгода назад говоривший что знает php весьма посредственно, не может стать профи. Уж слишком маленький временной промежуток. Да и не кичатся профи своими познаниями, никчему.
Что касается HTTP-аутентификации, то у нее есть свои недостатки. В первую очередь - особенности обработки результатов браузерами.

Качественная защита должна рассматриваться как комплекс мероприятий, а не отдельное действие.
0
lokanaft lokanaft 11 лет назад #
Таких напастей бояться - в интернет не ходить.
0
picaboo picaboo 11 лет назад #
ничего не понял кто откуда пришел и кто где профи.

если слова были обращены к фразе - то я как раз расшифровал как и просили что я имел ввиду под этой фразой.

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

Что касается HTTP-аутентификации, то у нее есть свои недостатки. В первую очередь - особенности обработки результатов браузерами.

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

движки могут быть разные, разбираться с каждым что и как закрыть - тяжело. самый постой путь, это запаролить админку. правильно выставить права на запись-чтение, на каждый сайт запуск процессов под своим пользователем, а не под рутом. htpasswd выносим наружу директории с сайтами и все. немного спать спокойно можно :)

Еще от автора

Дата + время публикации в статье (обновление) - 1.10.5
Доброго дня, дорогие любители InstantCMS. Давно ни чего не писал, исправляюсь, обновил хак для новой версии iCMS 1.10.
Новый вход в АЦ - part II
Доброго дня. Доработал немножко вход в админку, который был тут отдельное спасибо AtlantisWeb за его труды
Дата публикации в статье (обновление) 1.9-1.10.3
Всем доброго дня. Уже ранее выкладывал для 1.10.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.