Защита от клонов
-
Nemo1987
- phpBB 2.0.7
- Сообщения: 560
- Стаж: 19 лет 8 месяцев
-
CURANS
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет 9 месяцев
Защита от подделки имени
Иногда случается, что для того, чтобы скомпрометировать пользователя, регистрируется точно такой же ник, в котором сходные по начертании русские буквы заменяются на латинские. В результате ники выглядят одинаково, но мало кто догадается посмотреть на количество сообщений. Соотвественно, неплохо было бы создать мод, предупреждающий подобные ситуации. Подозреваю, что код похож вот на это:
Насколько этот код правилен? Как адаптировать его под phpbb? Куда его надо вставить?
Заранее благодарю.
Код: Выделить всё
<?php //Массив, содержащий русские буквы, сходные по начертанию с английскими
$rus = array( "А", "а", "В", "Е", "е", "К", "к", "М", "Н", "О", "о", "Р", "р", "С", "с", "Т", "Х", "х");
//Массив английских букв, сходных по начертанию с русскими
$eng = array("A", "a", "B", "E", "e", "K", "k", "M", "H", "O", "o", "P", "p", "C", "c", "T", "X", "x");
//Замена русских букв английскими
$eng_user = str_replace ($rus, $eng, $username);
//Теперь наоборот
$rus_user = str_replace ($eng, $rus, $username);
//Запрос к БД
$sql = "SELECT * FROM ". USERS_TABLE ." WHERE username LIKE '$username' OR username LIKE '$eng_user' OR username LIKE '$rus_user';
$ath = sql_query($sql);
if (!$ath) exit
if(mysql_num_rows($ath)>0) exit ?>Заранее благодарю.
-
quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
а также
а ваш код надо вставить в сценарий, ответственный за регистрацию новых пользователей. естественно, что его надо еще дорабатывать и дорабатывать
и еще вот это http://forum.dklab.ru/viewtopic.php?t=13143
измените таблицу пользователей0 ноль
О русская "о"
O латинская "о"
1 один
l латинская "л"
6 шесть
б русская "б"
b латинская "б"
3 три
З русская "з"
y латинская "игрек"
у русская "у"
u латинская "у"
и русская "у"
ничего не упустил?
Код: Выделить всё
ALTER TABLE phpbb_users ADD username2 VARCHAR( 25 ) NOT NULL
и еще вот это http://forum.dklab.ru/viewtopic.php?t=13143
-
quazi
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 7 месяцев
по поводу
при регистрации нового пользователя должно быть как минимум
1. проверить на уникальность такого логина (стандартно)
2. проверить на уникальность почтового ящика (стандартно)
3. проверить на уникальность поля username2
новый пользователь заводится только при выполнении всех трех условий
в таком случае
в базу заносится как сам логин так и его модифицированное значение
это надо для упрощения поиска по БД
идея такаяquazi писал(а):измените таблицу пользователей
при регистрации нового пользователя должно быть как минимум
1. проверить на уникальность такого логина (стандартно)
2. проверить на уникальность почтового ящика (стандартно)
3. проверить на уникальность поля username2
новый пользователь заводится только при выполнении всех трех условий
в таком случае
в базу заносится как сам логин так и его модифицированное значение
это надо для упрощения поиска по БД
-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 20 лет 11 месяцев
- Поблагодарили: 1 раз
-
Carbofos
- phpBB 1.4.4
- Сообщения: 158
- Стаж: 20 лет 7 месяцев
Есть еще одна вещь которая интересует меня: исключать похожие ники, различающиеся в 1-2 буквах. Алгоритм известный, вопрос в том, как его подружить с базой данных, со встроенными процедурами в mysql пока дело плохо.
Но по идее можно вытянуть из базы данных список всех ников (сразу или по частям) и потом над ними колдовать - сдается мне, что этот вариант лучше, чем делать по 1 запросу на каждую возможную комбинацию... Регистрация - дело не каждосекундное, так что тут имхо это можно было бы себе позволить...
Какие будут мнения?
Но по идее можно вытянуть из базы данных список всех ников (сразу или по частям) и потом над ними колдовать - сдается мне, что этот вариант лучше, чем делать по 1 запросу на каждую возможную комбинацию... Регистрация - дело не каждосекундное, так что тут имхо это можно было бы себе позволить...
Какие будут мнения?

