|
|
|
| допустим, в базе данных есть ник "Вася Пупкин". каким образом можно предотвратить регистрацию ников "Вася Пупкин - лох", "Вася АнтиПупкин", и т.д.? т.е. нужен механизм, который бы проверял не полное совпадение нового ника с имеющимися в базе данных, а совпадение скажем на 75%. и если такой ник существует - отказ в регистрации. | |
|
|
|
|
|
|
|
для: irr
(03.05.2006 в 15:47)
| | а Ася Пупкина уже не зарегится?
лучшая защита - премодерация;) | |
|
|
|
|
|
|
|
для: P@Sol
(03.05.2006 в 16:03)
| | увы, премодерация расходится с политикой сайта.
похоже, Асю Пупкину придется обломить : ( | |
|
|
|
|
|
|
|
для: irr
(03.05.2006 в 15:47)
| |
<?php
$name = "Вася Пупкин";
$name2 = "Вася АнтиПупкин - лох";
$expld = explode(" ", $name);
$preg = "#.*";
foreach ( $expld as $val ) $preg .= trim($val).".*";
$preg .= "#i";
if ( preg_match($preg, $name2) ) {
echo "Отказано в регистрации!";
} else {
echo "Зарегистрирован!";
}
?>
|
| |
|
|
|
|
|
|
|
для: Саня
(03.05.2006 в 16:05)
| | тоже вариант... спасибо! | |
|
|
|
|
|
|
|
для: irr
(03.05.2006 в 15:47)
| | similar_text()
levenshtein()
http://www.softtime.ru/bookphp/gl3_11.php | |
|
|
|
|
|
|
|
для: Loki
(03.05.2006 в 16:18)
| | о, вот Левенштейн - это уже что-то стоящее. спасибо! | |
|
|
|
|
|
|
|
для: Loki
(03.05.2006 в 16:18)
| | хотя, сейчас проверил... для ника "Вася Пупкин" подделка "Пупкин Вася" набирает 7 баллов, а "Лох Пупкин Вася" - 11 соответственно, т.е. по длине это уже ровно столько же, сколько и сам ник. не канает : (. | |
|
|
|
|
|
|
|
для: irr
(04.05.2006 в 09:58)
| | да, кстате при подобной защите "Vasya Pupki - durak" и "В_а_с_я_П_у_п_к_и_н_д_у_р_а_к" легко зарегятся... | |
|
|
|
|
|
|
|
для: P@Sol
(06.05.2006 в 15:42)
| | Ну, проверить абсолютно все варианты не представляется возможным (тут потребуется ИИ), поэтому пользуйтесь тем, что есть. | |
|
|
|
|
|
|
|
для: irr
(03.05.2006 в 15:47)
| | в общем, пока что ввел вот такую проверку:
$query="SELECT nick FROM userlist WHERE '$newnick' REGEXP nick AND nick NOT REGEXP '[.]' AND LENGHT(nick)>=6";
|
| |
|
|
|