Центр пользователя  |  Ваши сообщения  |  FAQ
Форум поддержки phpBB » phpBB 3.0.x » Интеграция и конвертирование

username_clean и как с ним бороться

Взаимодействие phpBB 3.0.x с другими системами.
Пожалуйста, помните, что существуют: Поиск, Правила форума
Возможно, ответ на Ваш вопрос уже имеется: Документация, Статьи, Накопленный опыт
Полезные материалы по этой теме: Конвертеры

Сообщение 28 окт 2011, 16:22

Доброго времени суток.
Пытаюсь сделать так, чтобы юзеры могли заходить на сайт под своими учетками форума. Разобрался уже со всем - хэшем пароля, сессиями, кукисами.. Но вот с username_clean полная беда.
Каким образом можно обычный русский ник, который будет вводиться с сайта преобразовать в ник phpbb?
utf8_clean_string не помогает
Core_2_Duo
Новичок
 
Сообщений: 4
Зарегистрирован:
28 окт 2011, 16:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 28 окт 2011, 16:24

Core_2_Duo писал(а):Каким образом можно обычный русский ник, который будет вводиться с сайта преобразовать в ник phpbb?
utf8_clean_string не помогает


Нужно смотреть интеграцию логина сайта с логином форума.
Русский логин на прямую с phpbb3 без проблем работает.
Мой проект - Urbanwave
Сделано на: phpbb 3.0.7,KTVM portal,Memht portal+моды
http://urbanwave.info - Онлайн радио,тв, форумные игры.
http://cop-mmo.ru/ - WOT сообщество _COP_
Если есть предложения что либо установить-пишите в личку
Аватар пользователя
xC4x
Поддержка
 
Сообщений: 2348
Зарегистрирован:
16 мар 2009, 07:11
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 28 окт 2011, 16:28

Приведу просто пример юзернейм и юзернейм-клин:
username username_clean
Трушаман тpyшaмaн (в последнем - буквы 'p', 'y', 'a' - латинского алфавита, остальные русского)
И во всех юзерах такая херня. Вот чем раскодировать это или закодировать обычные ники, чтобы получить данное значение?)
Core_2_Duo
Новичок
 
Сообщений: 4
Зарегистрирован:
28 окт 2011, 16:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 28 окт 2011, 16:43

ну так вы смотрите код форума или читайте вики phpbb.com
crash
Поддержка
 
Сообщений: 11348
Зарегистрирован:
27 янв 2009, 03:22
Благодарил (а): 1 раз.
Поблагодарили: 568 раз.

Сообщение 28 окт 2011, 16:49

я сегодня с 8 утра читаю код пхпбб.. очень упорно читаю. Но, как видите - борода.
Я вот только одного не пойму - на**я разработчики так делали? почему было просто не уменьшить стртуловером и оставить? зачем вся эта куча говна на головы себе и тем, кто этим пользуется? абсолютно все перекодировано под "похожие" символы -
п в пи
г в r
и тд.. Просто звиздец.
Core_2_Duo
Новичок
 
Сообщений: 4
Зарегистрирован:
28 окт 2011, 16:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 28 окт 2011, 17:19

Core_2_Duo
если вы не понимаете, это не значит что этого не надо.
Код: выделить все
function utf8_clean_string($text)
{
   global $phpbb_root_path, $phpEx;

   static $homographs = array();
   if (empty($homographs))
   {
      $homographs = include($phpbb_root_path . 'includes/utf/data/confusables.' . $phpEx);
   }

   $text = utf8_case_fold_nfkc($text);
   $text = strtr($text, $homographs);
   // Other control characters
   $text = preg_replace('#(?:[\x00-\x1F\x7F]+|(?:\xC2[\x80-\x9F])+)#', '', $text);

   // we need to reduce multiple spaces to a single one
   $text = preg_replace('# {2,}#', ' ', $text);

   // we can use trim here as all the other space characters should have been turned
   // into normal ASCII spaces by now
   return trim($text);
}
crash
Поддержка
 
Сообщений: 11348
Зарегистрирован:
27 янв 2009, 03:22
Благодарил (а): 1 раз.
Поблагодарили: 568 раз.

Сообщение 28 окт 2011, 17:50

Core_2_Duo писал(а):Доброго времени суток...
utf8_clean_string не помогает

Не помогает - значит выдает другую строку, отличную от искомой в username_clean
Core_2_Duo
Новичок
 
Сообщений: 4
Зарегистрирован:
28 окт 2011, 16:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение 28 окт 2011, 18:05

Код: выделить все
function user_add($user_row, $cp_data = false)
{
   global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;

   if (empty($user_row['username']) || !isset($user_row['group_id']) || !isset($user_row['user_email']) || !isset($user_row['user_type']))
   {
      return false;
   }

   $username_clean = utf8_clean_string($user_row['username']);

Почему вам не помогает, знаете наверное только вы.
crash
Поддержка
 
Сообщений: 11348
Зарегистрирован:
27 янв 2009, 03:22
Благодарил (а): 1 раз.
Поблагодарили: 568 раз.

Сообщение 28 окт 2011, 18:07

Код: выделить все
function validate_username($username, $allowed_username = false)
{
   global $config, $db, $user, $cache;

   $clean_username = utf8_clean_string($username);

ну и так далее. И везде помогает
crash
Поддержка
 
Сообщений: 11348
Зарегистрирован:
27 янв 2009, 03:22
Благодарил (а): 1 раз.
Поблагодарили: 568 раз.


Вернуться в Интеграция и конвертирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Форум поддержки phpBB
2008 - 2017 © BB3x.ru - русская поддержка форума phpBB3
Создано на основе phpBB® Forum Software © phpBB Group
авторов модов
разработчиков скинов
русификаторов
и всех поклонников phpBB3