0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 3157 Просмотров
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Для начала нам потребуется библиотека от Google recaptchalib.php
На момент написания актуальная версия - 1.11
Далее помещаем файл-библиотеку по адресу "ваш_сайт/plugins/captcha/recaptcha/"
Что такое "Privat key" и "Public key" здесь объяснять не буду. Предполагается что вы знакомы с данными терминами. Если нет, то вам прямая дорога к поиску...
Закачали значит библиотеку и направляемся прямиком в "ваш_сайт/administrator/com_login/"
В файле controller.php находим функцию login() и после ее первой фигурной скобки '{' добавляем код...
Код: php
		//start captcha
require_once(JPATH_SITE.DS.'plugins'.DS.'captcha'.DS.'recaptcha'.DS.'recaptchalib.php');
$privatekey = "ВАШ_ПРИВАТНЫЙ_КЛЮЧ";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
//end captcha

На этом правка не закончена... Здесь же находим строку  $result = $app->login($credentials, array('action' => 'core.login.admin')); ...
Меняем данную строку на...
Код: php
		if ($resp->is_valid) {
$result = $app->login($credentials, array('action' => 'core.login.admin'));
}
На этом правка данного файла закончена. Сохраняем. Закрываем и идем по следующему пути - ваш_сайт/administrator/modules/mod_login/tmpl
Здесь нам нужен файл default.php... находим строчку с выводом языков - <?php echo $langs; ?> .... У меня это 23 строка.
И после нее вставляем нашу капчу...
Код: php
				<?php
//start captcha
 require_once(JPATH_SITE.DS.'plugins'.DS.'captcha'.DS.'recaptcha'.DS.'recaptchalib.php');
 $publickey = "ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ";
 echo recaptcha_get_html($publickey);
//end captcha
?>
Сохраняем. Закрываем. Проверяем.
« Последнее редактирование: 10.09.2013, 22:46:43 от Tuzemec »
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Сохраняем. Закрываем. Обновляемся.
Сохраняем. Закрываем. Обновляемся.
Сохраняем. Закрываем. Обновляемся.
упс Fatal Error бесконечный цикл...

P.S. я вас немножко шокирую но в Joomla 2.5 уже есть ReCaptcha зачем ещё раз её качать не понятно...

P.S.S. вы бы реально свой код проверяли ато /facepalm полный...


Код: php
$result = $app->login($credentials, array('action' => 'core.login.admin'));  // тут мы логинимся
после
Код: php
//тут мы выполняем редирект если нет ошибок авторизации,
if (!($result instanceof Exception)) {
$app->redirect($return);
}

вы дописали проверку на if (!($result instanceof Exception) && $resp->is_valid)  это означает что если нет ошибок авторизации, и нет ошибок от RеCAPTCHA  то пройдет редирект, иначе редиректа не будет, но авторизация ВЫПОЛНИТСЯ! и пользователь войдет! введите правильный логин и пароль и неправильную рекапчу, потом нажмите по ентеру в строке ввода, будете сидеть в админке....
« Последнее редактирование: 10.09.2013, 21:54:32 от Istaan »
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
... упс Fatal Error бесконечный цикл...
P.S. я вас немножко шокирую но в Joomla 2.5 уже есть ReCaptcha зачем ещё раз её качать не понятно...
Где тут бесконечный цикл?
Ну а по поводу того, что ReCaptcha уже есть в Joomla 2.5 никто не спорит =)
Но вот что-то подключить к форме входа в административную панель ее еще никто не догадался...
Скачайте библиотеку с Google и сравните c Joomla'вским плагином. "Немножко шокирую", найдется масса отличий
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
пароль и неправильную рекапчу, потом нажмите по ентеру в строке ввода, будете сидеть в админке....
Хорошо... пойдем другим путем... Предложите свое решение...
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Где тут бесконечный цикл?
1.Бесконечный цикл в том что при каждом обновлении CMS вам придется выполнять теже самые действия... потому что ваши и так не работающие хаки будут тупо затираться...
если вы не поняли моего сарказма то расшифрую - нужно написать плагин!
2. код разный может потому что в Joomla это плагин? и могли и ссвой интерфейс прикрутить... но не столь важно, главное то что масло масляное, но вы не смогли просто разобрааться...
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Хорошо... пойдем другим путем... Предложите свое решение...
ну во первых написать системный плагин, во вторых проверка должна быть выполнена до строки
Код: php
result = $app->login($credentials, array('action' => 'core.login.admin'));
иначе все ваши действия не имеют никакого смысла, ибо оно не работает!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Делаете системный плагин в нем один метод:
Код: php
public function onAfterInitialise(){
require_once(JPATH_SITE.DS.'plugins'.DS.'captcha'.DS.'recaptcha'.DS.'recaptchalib.php');
$privatekey = "ВАШ_ПРИВАТНЫЙ_КЛЮЧ";
$resp = recaptcha_check_answer ( $privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"] );
$input = JFactory::getApplication()->input;
if ( $action !== 'check' ) {
JFactory::getApplication()->redirect( 'index.php', 'Неверная captcha' );
}

}
Притом я думаю вы понимаете что "ВАШ_ПРИВАТНЫЙ_КЛЮЧ" можно добавить через параметры плагина )
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
ну во первых написать системный плагин, во вторых проверка должна быть выполнена до строки
Код: php
result = $app->login($credentials, array('action' => 'core.login.admin'));
иначе все ваши действия не имеют никакого смысла, ибо оно не работает!
Другими словами, форумчане...
вместо
Код: php
result = $app->login($credentials, array('action' => 'core.login.admin'));
вставить
Код: php
if ($resp->is_valid){
$result = $app->login($credentials, array('action' => 'core.login.admin'));
}

Ну вот нет у разработчиков желания писать плагин. Вам, я так понимаю, он не нужен... Ну а другие не отказались бы, но знаний не хватает...
За проверку и тыканье носом в ошибки "Спасибо".
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Ну вот нет у разработчиков желания писать плагин. Вам, я так понимаю, он не нужен... Ну а другие не отказались бы, но знаний не хватает...
Простите какие надо знания? плагин писать 10 минут, притом что это не хак ядра! вы сначала попробуйте написать плагин, и знания появятся!
я уже молчу о том что половина формумчан при попытке вносить подобный код рискуют вообще сайт поломать!
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Простите какие надо знания? плагин писать 10 минут, притом что это не хак ядра! вы сначала попробуйте написать плагин, и знания появятся!
я уже молчу о том что половина формумчан при попытке вносить подобный код рискуют вообще сайт поломать!
Знания того как писать плагин к примеру... У вас навыки написания плагина (компонента, модуля) сами по себе появились или всё же были неудачные попытки, долгие поиски информации и копание в ядре? А форумы для того и создали, чтоб можно было поделиться навыками, информацией, проблемами и их решениями. Верно? Если нет, то я, думаю как и солидная часть посетителей форума попросту теряем время посещая подобные места.
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Знания того как писать плагин к примеру... У вас навыки написания плагина (компонента, модуля) сами по себе появились или всё же были неудачные попытки, долгие поиски информации и копание в ядре? А форумы для того и создали, чтоб можно было поделиться навыками, информацией, проблемами и их решениями. Верно? Если нет, то я, думаю как и солидная часть посетителей форума попросту теряем время посещая подобные места.
после первого обновления ядра с хаками, я понял что делаю что то не так, и потратил пару дней что бы научиться писать модули, плагины и т.д..

p.s. форум может и место что бы поделится проблемами и их решениями, но не делать проблему из проблемы...
« Последнее редактирование: 10.09.2013, 22:56:25 от Istaan »
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Я не вижу проблемы... Благодаря вашим сообщениям проблема решена. Первая версия предложенного решения переписана. Кто-то в дальнейшем конечно же напишет плагин с помощью информации что была опубликована и надеюсь выложит на всеобщее обозрение. Спасибо за продуктивную критику.
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Если Вам инетерсно сегодня напишу плагин такой и напишу урок с разъяснениями как это делать, что бы не делали ка ненадо!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Я не вижу проблемы... Благодаря вашим сообщениям проблема решена. Первая версия предложенного решения переписана. Кто-то в дальнейшем конечно же напишет плагин с помощью информации что была опубликована и надеюсь выложит на всеобщее обозрение. Спасибо за продуктивную критику.
Вы не видите проблемы! а я постоянно их вижу когда меня просят доработать вот такие сайты, которые хрен обновишь! которые жестко неизвестно где похааканы и приходится искать неделями код...
да вот хотя бы тема:  http://joomlaforum.ru/index.php/topic,275065.msg1372031.html#msg1372031 банально при вставке одной строки возникла проблема, вы думаете после вашего кода не будет проблем?)
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Собственно сам плагин: http://ссылка вырезана, так как домен распространяет вирусы/plaginy/plagin-dlya-zashchity-avtorizatsii-v-administrativnuyu-chast-sajta-cherez-kapchu

рекапчу в него не пихал, ибо её люто ненавижу, порой даже с тридцатого обновления не понятно что на ней...
впихнул немного другой скрипт CAPTCHA, если не нравится такая можете вставить рекапчу..

даже не знаю писать ли урок  по тем 50-ти строкам кода... можете посмотреть как работает плагин, и модифицировать под свои нужды!
и если внимательно посмотрите то для работы ненужно куда то лезть и что то править! достаточно установить и включить плагин!
*

Tuzemec

  • Захожу иногда
  • 246
  • 28 / 0
  • Ня!
Ну вот как замечательно. Теперь тема пошла в нужное русло. Собственно пример "как делать НЕнужно" и в конце результат "как делать ПРАВИЛЬНО". Вот оно как получается... Можно басню написать! =)

Жил-был человек. Знал как защитить форму входа в админку, но что-то мешало ему поделиться знаниями. И пришел на его землю злой волшебник со своим лютым кодом неправильным. И как давай всех жителей царства человека заколдовывать чтоб те, код лютоневерный себе в ядро впихнули. Услышал человек о том что в царстве твориться, почесал макушку... Проверил код злодея и написал плагин для доброго люда, дабы те не слушали волшебника, а пользовались правильным кодом плагина!
Мораль сей басни такова! Не тот программер, что плагины пишет, а тот, кто сподвигает к написанию валидных плагинов! =)

ЗЫ: Мораль у каждого своя. Главное чтоб людям эта мораль помогала в порой нелегком деле...
Спасибо за плагин!
Каждый ваш клик помогает заработать сыну на конфеты
Не дайте ребенку остаться без сладкого! Сделай ТЫЦ!
*

VDenis

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
При включении плагина перестает работать маркер у админки в палагине EasyCalcCheck PLUS
т.е. при любом маркере /administrator/?token=111 открывается как /administrator/
что можно сделать? чтобы работала и CAPTCHA в админке и маркер?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Белая станица. Запрет входа в панель управления

Автор chasa

Ответов: 10
Просмотров: 1099
Последний ответ 02.04.2019, 15:20:48
от chasa
Проблемы со входом в админ. панель

Автор Jael888

Ответов: 6
Просмотров: 1579
Последний ответ 14.07.2016, 19:04:57
от sochirf
Как в админ. панели убрать надпись "Joomla!® - бесплатное программное..."

Автор sigir

Ответов: 7
Просмотров: 32615
Последний ответ 11.06.2016, 13:54:20
от iDrakon
Настройка reCAPTCHA в Joomla 2.5

Автор veNick

Ответов: 20
Просмотров: 28473
Последний ответ 28.02.2016, 19:30:03
от terr
Проблема с модулями в админ. панели

Автор lena84

Ответов: 8
Просмотров: 1093
Последний ответ 04.02.2016, 12:17:36
от Ishti39