Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Проверка E-Mail, при изменении его в профиле FIXED

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Проверка E-Mail, при изменении его в профиле FIXED

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Проверка E-Mail, при изменении его в профиле FIXED.



Как Вы все знаете, проверка на валидность E-Mail в dle происходит, только при регистрации, но, что мешает пользователю сменить его после регистрации? Правильно, ничего. Поэтому предлагаю Вашему вниманию, хак который делает проверку E-Mail даже при редактировании его в профиле!

Незнаю ошибки ли допустил Брупт, но без небольших правок - его код не заработал, пришлось работать напильником :). Всего две поправки и все заработало.

Автор: Брупт
Исправил: Kilya



Установка хака валидности E-Mail:

Открываем engine/modules/profile.php

* Находим:
      include_once ENGINE_DIR . '/classes/parse.class.php';

* Ниже вставляем:
      if ( $doaction == 'validating' AND $is_logged )
      {
          $parse = new ParseFilter( );
          
          $validating = ( isset( $_REQUEST['id'] ) ) ? strval( $_REQUEST['id'] ) : '';
          
          $validating = explode( '||', @base64_decode( @rawurldecode( $validating ) ) );

          if ( sizeof( $validating ) != 4 ) die( 'ID not valid!' );
          
          $validating[0] = intval( $validating[0] );
          $validating[1] = trim( $db->safesql( $parse->process( $validating[1] ) ) );
          $validating[2] = trim( $db->safesql( $parse->process( $validating[2] ) ) );
          
          if ( md5( md5( md5( $member_id['name'] . $validating[2] . DBHOST . DBNAME . $config['key'] ) ) ) != md5( $validating[3] ) ) die( 'ID not valid!' );
          
          if ( $member_id['user_id'] == $validating[0] AND $validating[1] == $member_id['email'] )
          {
              $db->query( "UPDATE " . USERPREFIX . "_users set email='{$validating[2]}' WHERE user_id='{$member_id['user_id']}'" );
              msgbox( $lang['all_info'], 'E-Mail Активирован!' );
          } else die( 'data not valid!' );
      }

* Находим:
              $filecontents = '';

* Ниже вставляем:
    if ( $email != $member_id['email'] AND $config['registration_type'] )
              {
                  include_once ENGINE_DIR . '/classes/mail.class.php';
                  $mail = new dle_mail( $config );
                  
                  $row = $db->super_query( "SELECT template FROM " . PREFIX . "_email where name='reg_mail' LIMIT 0,1" );
                  
                  $row['template'] = stripslashes( $row['template'] );
                  
                  $idlink = rawurlencode( base64_encode( $member_id['user_id'] . '||' . $member_id['email'] . '||' . $email . '||' . md5( md5( $member_id['name'] . $email . DBHOST . DBNAME . $config['key'] ) ) ) );
                  
                  $row['template'] = str_replace( "{%username%}", $member_id['name'], $row['template'] );
                  $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . 'index.php?subaction=userinfo&user=' . urlencode( $member_id['name'] ) . '&doaction=validating&id=' . $idlink, $row['template'] );
                  $row['template'] = str_replace( "{%password%}", 'Засекречен', $row['template'] );
                  
                  $mail->send( $email, $lang['reg_subj'], $row['template'] );
                  
                  if ( $mail->send_error ) msgbox( $lang['all_info'], $mail->smtp_msg );
                  msgbox( $lang['all_info'], 'Что бы изменить E-Mail, его нужно подтвердить' );
                  
                  $email = $member_id['email'];
              }


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


0
Просмотры: 5 634 :: Комментарии (19) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1Lion18

  • 26 октября 2010 16:07
  • Регистрация: 13.09.2010
  • Был(а) онлайн: 7.04.2019
  • Комментариев: 226
  • 0
Спасибо.будет время испітаю

--------------------

#2hate.mirror

  • 26 октября 2010 16:11
  • Регистрация: 18.04.2010
  • Был(а) онлайн: 10.06.2015
  • Комментариев: 49
  • 0
Это для ДЛЕ 9.0 ?
И стоит ли это заменять ?

#3kzpromo

  • 26 октября 2010 18:32
  • Регистрация: 11.09.2009
  • Был(а) онлайн: 10.12.2023
  • Комментариев: 90
  • 0
хорошая идея
надо будет подключить себе

#4fdsa1

  • 26 октября 2010 19:26
  • Регистрация: 17.09.2010
  • Был(а) онлайн: 17.07.2015
  • Комментариев: 287
  • 0
Цитата: kzpromo
хорошая идеянадо будет подключить себе

Согласен!Также зделаю в ближайщее время.

--------------------

#5kilya

  • 26 октября 2010 20:03
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 8.04.2021
  • Комментариев: 95
  • 0
hate.mirror,
Цитата: hate.mirror
Это для ДЛЕ 9.0 ?И стоит ли это заменять ?

Тестировал именно на 9ке. но должно и на меньших работать!

--------------------

#6kilya

  • 26 октября 2010 22:23
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 8.04.2021
  • Комментариев: 95
  • 0
Цитата: atlas100
на 9,0 легко меняет, хак непрошол

не совсем понятен ваш комент!
работает или не работает?

на моей 9-ке и локальной и на хосте - ok работает безукаризнено!

--------------------

#7buben

  • 27 октября 2010 15:55
  • Регистрация: 9.01.2010
  • Был(а) онлайн: 21.09.2014
  • Комментариев: 6
  • 0
воткнул хак себе на 9-ку. не работает smile

#8kilya

  • 27 октября 2010 17:15
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 8.04.2021
  • Комментариев: 95
  • 0
Цитата: buben
воткнул хак себе на 9-ку. не работает

не работает на каком этапе? подробнее описывайте!

и внимательнее читаем инструкцию по установке. при допущении ошибки - все может быть!

--------------------

#9buben

  • 27 октября 2010 17:20
  • Регистрация: 9.01.2010
  • Был(а) онлайн: 21.09.2014
  • Комментариев: 6
  • 0
ошибок не выдает.пользователи без проблем меняют своем мыло.

#10atlas100

  • 27 октября 2010 20:36
  • Регистрация: 7.11.2009
  • Был(а) онлайн: 8.11.2013
  • Комментариев: 15
  • 0
kilya,
Все работает, тестировал на хосте на дле 9.0.Отличный хак, молодчина.

#11buben

  • 28 октября 2010 03:09
  • Регистрация: 9.01.2010
  • Был(а) онлайн: 21.09.2014
  • Комментариев: 6
  • 0
тоже на 9-ку ставил и что у меня не подросло.)) когда пользователь пытается поменять мыло что происходит вообще ошибку выдает или что.?

#12Dussver

  • 28 октября 2010 15:45
  • Регистрация: 28.10.2010
  • Был(а) онлайн: 1.12.2010
  • Комментариев: 4
  • 0
спасибо:)
Понадобилось:)

#13buben

  • 28 октября 2010 15:53
  • Регистрация: 9.01.2010
  • Был(а) онлайн: 21.09.2014
  • Комментариев: 6
  • 0
точняк. .все работает.. я затупил чуток..)) СПАСИБО

#14kilya

  • 29 октября 2010 11:45
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 8.04.2021
  • Комментариев: 95
  • 0
Пжлста всем, мне и самому сгодилось. автор то не я. я лишь напильником поправил. :)

--------------------

#15fideral

  • 4 ноября 2010 21:02
  • Регистрация: 4.11.2010
  • Был(а) онлайн: 1.02.2014
  • Комментариев: 15
  • 0
Спасибо автору и доработчику.

--------------------

#16abookz.net

  • 7 ноября 2010 19:33
  • Регистрация: 20.09.2010
  • Был(а) онлайн: 29.12.2010
  • Комментариев: 5
  • 0
пробовал ставить без доработок, не хотело, а так пошло как по маслу. Сенькс!!!

#17fruktmex2

  • 17 ноября 2010 09:52
  • Регистрация: 3.11.2010
  • Был(а) онлайн: 25.04.2016
  • Комментариев: 18
  • 0
Спс атору, надо будет опробовать ok

#18trdnepr

  • 4 января 2011 05:41
  • Регистрация: 7.02.2010
  • Был(а) онлайн: 14.05.2024
  • Комментариев: 21
  • 0
Спс автору, Понадобилось:)

#19atlas100

  • 26 сентября 2011 09:48
  • Регистрация: 7.11.2009
  • Был(а) онлайн: 8.11.2013
  • Комментариев: 15
  • 0
При открытии профиля выдает в инфо блоке "Incorrect email address: <>" и "Что бы изменить E-Mail, его нужно подтвердить"

Дле 9,0

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: