Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Настройка и Изменение > Модули
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Trash вне форума      Старый регистрация нового пользователя + капча #1  
Trash
Новенький
Регистрация: 02.02.2010
Сообщения: 3


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Trash Найти все сообщения от Trash Добавить Trash в список друзей  
02.02.2010, 10:22

Добрый день.
Имеется PHP NUKE версии 7.9. Очень хочется встроить в него капчу, но к сожалению, я не знаю как. На сайте капчи есть ссылка на модуль feedback в котором встроена эта капча, по аналогии сделать не удается, поскольку php я не знаю вообще, методом совсем не научного тыка ни чего не выходит. Если кто может помочь в данной проблеме, буду очень признателен.

Ниже прикрепляю файл index.php из папки your_account.
Вложения
Тип файла: zip index.zip (17.1 Кбайт, 5 просмотров)

Soniks вне форума      Старый #2  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
02.02.2010, 14:32

А куда именно вы хотите встроить эту captha? На какое действие?
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Trash вне форума      Старый #3  
Trash
Новенький
Регистрация: 02.02.2010
Сообщения: 3


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Trash Найти все сообщения от Trash Добавить Trash в список друзей  
02.02.2010, 15:45

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

Soniks вне форума      Старый #4  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
07.02.2010, 11:51

Ничего сложного нет:
  1. Скачиваем архив kaptcha сайта разработчика, если еще не скачивали.
  2. Раззиповываем папку kaptcha в корень сайта, убеждаемся ч то в этой папке есть файл index.php
  3. При желании настраиваем kaptchу, открыв файл kcaptcha_config.php, который находится в этой же папки.
  4. Открывеме index.php модуля You_Account.
  5. Находим функцию new_user(), а в ней следующее условие:
    PHP код:
     if (extension_loaded("gd") AND ($gfx_chk == OR $gfx_chk == OR $gfx_chk == OR $gfx_chk == 7)) {
       echo 
    "<tr><td>"._SECURITYCODE.":</td><td><img src='?gfx=gfx&amp;random_num=$random_num' border='1' alt='"._SECURITYCODE."' title='"._SECURITYCODE."'></td></tr>\n"
       
    ."<tr><td>"._TYPESECCODE.":</td><td><input type=\"text\" NAME=\"gfx_check\" SIZE=\"7\" MAXLENGTH=\"6\"></td></tr>\n"
       
    ."<input type=\"hidden\" name=\"random_num\" value=\"$random_num\">\n";
      } 

    Взамен этого вставляем следующее:
    PHP код:
     session_start();
      echo 
    "<tr><td>"._SECURITYCODE.":</td><td><img src='/kaptcha/index.php?".session_name()."=".session_id()."' border='1' alt='"._SECURITYCODE."' title='"._SECURITYCODE."'></td></tr>\n"
       
    ."<tr><td>"._TYPESECCODE.":</td><td><input type=\"text\" NAME=\"keystring\" SIZE=\"7\"></td></tr>\n"
  6. Далее в том же файле находим функцию confirmNewUser(), а вней такие строки:
    PHP код:
     ."<input type=\"hidden\" name=\"random_num\" value=\"$random_num\">"
      
    ."<input type=\"hidden\" name=\"gfx_check\" value=\"$gfx_check\">" 

    Меняем их на:
    PHP код:
     ."<input type=\"hidden\" name=\"keystring\" value=\"".$_POST['keystring']."\">" 
  7. Находим и удаляем следующие строки:
    PHP код:
     if (extension_loaded("gd") AND $code != $gfx_check AND ($gfx_chk == OR $gfx_chk == OR $gfx_chk == OR $gfx_chk == 7)) {
       
    title(""._NEWUSERERROR."");
       
    OpenTable();
       echo 
    "<center><b>"._SECCODEINCOR."</b><br><br>"
       
    .""._GOBACK."</center>";
       
    CloseTable();
       include(
    "footer.php");
       die();
      } 
  8. Находим функцию finishNewUser(), а вней удаляем следующие строки:
    PHP код:
     if (extension_loaded("gd") AND $code != $gfx_check AND ($gfx_chk == OR $gfx_chk == OR $gfx_chk == OR $gfx_chk == 7)) {
       
    Header("Location: modules.php?name=$module_name");
       die();
      } 
  9. И последнее, находим функцию userCheck(), а в ней следующую строку:
    PHP код:
     global $stop$user_prefix$db

    Поле нее добавляем следующее:
    PHP код:
     session_start();
     if(!isset(
    $_SESSION['captcha_keystring']) ||  !$_POST['keystring'] || $_SESSION['captcha_keystring'] !=  $_POST['keystring']) $stop "<center>"._SECCODEINCOR."</center><br>"
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Trash вне форума      Старый #5  
Trash
Новенький
Регистрация: 02.02.2010
Сообщения: 3


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Trash Найти все сообщения от Trash Добавить Trash в список друзей  
09.02.2010, 13:44

Soniks
Огромнейшее, человеческое спасибо!
Сил больше нету бороться с спамерами! Спасибо!

shtrlz вне форума      Старый #6  
shtrlz
Новенький
Регистрация: 09.03.2010
Сообщения: 1


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для shtrlz Найти все сообщения от shtrlz Добавить shtrlz в список друзей  
09.03.2010, 14:42

Soniks помогите и мне.

все сделал как вы описали, но вот теперь выдает:

Warning: session_start() [function.session-start]: open(/storage/home/shtrlz1s/tmp/sess_ruhudld0q9rpkvsd8eld6nfu61, O_RDWR) failed: Permission denied (13) in /storage/home/shtrlz1s/htdocs/modules/Your_Account/index.php on line 621

в 621 строке собственно :
Цитата session_start();


права на папку капчи и на файлы выставил 750 (как и на другие файлы php на сайте)

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

и с этим поправил.

в этой строке
echo "<tr><td>"._SECURITYCODE.":</td><td><img src='/kaptcha/index.php?".session_name()

папка называется kaptcha

а в дистрибутиве kcaptcha

спасибо за решение

MaxR вне форума      Старый #7  
MaxR
Новенький
Регистрация: 02.07.2010
Сообщения: 1


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для MaxR Найти все сообщения от MaxR Добавить MaxR в список друзей  
02.07.2010, 20:19

В модуле Your_Account при регистрации нужно добавить два поля. версия 80 RUS если нужно файл, то залью.
http://s08.radikal.ru/i181/1007/68/a54bef704e8f.jpg

хелп ми

Последний раз редактировалось MaxR, 02.07.2010 в 20:58.

Soniks вне форума      Старый #8  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
05.07.2010, 21:49

MaxR ну собственно ничего сложного нет, по аналогии как описано выше в функции new_user() нужно вставить необходимые поля, и аналогично проделать действия в функции confirmNewUser(), заменяя только названия полей. А в функции finishNewUser() необходимо в запрос добавить требуемые столбцы и их значения, если вам необходимо сохранить данные в БД
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при регистрация нового пользователя gift Установка 2 25.07.2009 03:45
не отсылается сообщение при регистрации нового пользователя gurman1976 Установка 2 07.04.2009 19:15
регистрация нового пользователя soldat Настройка и Изменение 1 05.02.2008 21:37
регистрация в нюке tema Настройка и Изменение 3 24.03.2007 03:05
"добавление нового админа" (модули на администрирование)) makfatum Модули 4 07.03.2007 22:28


Часовой пояс GMT +4, время: 21:54.


На Верх
Рейтинг@Mail.ru