Вы здесьНайдите десять отличий...
Опубликовано ср, 07/01/2009 - 21:40 пользователем pkn
Хе-хе... P.S. Этот топик не модерируется, как и все создаваемые мной топики.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
Tafobau RE:Не присылает пароль на почту 9 часов
monochka RE:Подайте бедному копеечку на книжку с литреса... 9 часов kopak RE:О группе Дятлова. О той самой, того самого... 2 дня babajga RE:Плюмаж 1 неделя Саша из Киева RE:Кто сможет раздобыть и оцифровать нужные мне книги? 1 неделя babajga RE:Блошкинс и Фрю. Опасное путешествие 1 неделя alexk RE:Багрепорт - 2 2 недели babajga RE:Удивленная сова 3 недели Larisa_F RE:Серия «Квадрат» издательства «Текст» 4 недели Aleks_Sim RE:Беженцы с Флибусты 4 недели edvud RE:Прошу переформатировать, распознать, etc... 4 недели monochka RE:С 8 Марта! 1 месяц babajga RE:Книга чуДОМищ 1 месяц ProstoTac RE:Подборка о Первой Мировой 1 месяц babajga RE:Нержавеющая сабля 1 месяц sem14 RE:«Уроки русского» 1 месяц Isais RE:Древний Рим. Подборка книг 1 месяц babajga RE:Отчаянная осень 1 месяц Впечатления о книгах
Oleg68 про Бушков: Времена звездочетов. Наш грустный массаракш (Фэнтези, Самиздат, сетевая литература)
07 04 Не шедевр, но мне понравилось. Опять на самом интересном пауза. Оценка: отлично!
Олег Макаров. про Усманов: Конец или начало? [СИ] (Героическая фантастика, Фэнтези, Попаданцы, Самиздат, сетевая литература)
07 04 Белиберда картонная с самого начала. Трёх страниц достаточно, чтобы понять Оценка: нечитаемо
Stager про Старуха
07 04 УГ. Литературы тут нет совсем. Это чисто заклёпочническое построение, а вот с заклёпочничеством у автора большие проблемы. Он не знает того, что знает любой любознательный школьник и что даже сносно описано в Википедии. Поэтому ………
mysevra про Терехов: Каменный мост (Современная проза)
07 04 Я бы читала, мне было интересно, но автор постоянно сбивается на тошнотворное описание каких-то эпизодов взаимоотношений главного героя с его женщинами - зачем мне это знать? Оценка: плохо
mysevra про Свечин: Адский прииск (Исторический детектив)
07 04 Добротно и обстоятельно. Очень интересно описан край. Прочитала с большим удовольствием, теперь хочу прочитать всю серию. Оценка: отлично!
mysevra про Горд: LOVE-леди. Искусство отличаться от других женщин (Психология)
07 04 Наверное, кое-что можно взять на вооружение, хотя риторика американских подростковых сериалов сильно удешевляет идею. Интересно было бы воочию сравнить байгужинку, последовательницу Валяевой и барышню, проработавшую эту книгу. Оценка: неплохо
Gilean про За чужой мечтой
06 04 Читать интересно, но вот мало логики. Ну и как всегда сериал не закончен. Что не понравилось - переходы между книг, читаешь следующую и как будто не врубаешься что происходит? Через главу или две понимаешь о чем речь ………
Олег Макаров. про Панов: Кто-то просит прощения [litres] (Триллер, Детективы: прочее, Мистика)
06 04 Какая-то муть. Не дочитал. После предыдущей даже обидно Оценка: нечитаемо
lukyanelena про Вудворт: Парный танец (Любовная фантастика)
06 04 Какая-то ода абьюзу. И безобразно написаны эротические сцены. Убожество. Полно пафоса и штампов. Такое впечатление, что отдали на аутсорс какой-то малолетке. Оценка: плохо
Г.Гуслия про Скотина
05 04 Очень хорошо, можно даже сказать отлично. Вроде бы как обычный попаданец, но много свежих нюансов. Язык хороший, читается легко. Жалко, что пока только две книги. Надеюсь, продолжение будет не хуже и достаточно скоро.
magmel про Грайдер: Стажер Ли Су Джин (Попаданцы, Самиздат, сетевая литература)
05 04 Понравилось, перекликается с произведениями Кощиенко
dolle про Шаргородский: Слишком смышленый дурачок (Боевая фантастика, Фэнтези, Попаданцы, Самиздат, сетевая литература)
05 04 Как бы попаданец в почти боярку.Оригинально, свежо и необычно. Понравилось.Отлично. Оценка: отлично! |
Комментарии
Отв: Найдите десять отличий...
Это, скорее всего, многодельно. Потому что естественный алгоритм предполагает проверку всех возможных вариантов ника. У меня их, скажем - 7, а у кого-то могут быть десятки...
А альтернативный способ нужно выдумывать. Проще предупредить заранее и забанить нарушителя после жалобы "правообладателя" (ой блин, что сейчас будет!).
Отв: Найдите десять отличий...
У Вас так:
RegExp("[оo]ldv[aа]gr[aа]nt","")
Зато правил не нужно и библиотекари ваще ни причем.
Отв: Найдите десять отличий...
Это-то да.Но предствьте себе RegExp для ника "aaa...aa" состоящего из (сколько там можно?) 32 букафф (ну пусть даже из 16-ти). Хороший путь озадачить сервер.
Отв: Найдите десять отличий...
RegExp("[aа][aа][aа]...[aа][aа]","")
Отв: Найдите десять отличий...
Я же не про то, как написать RegExp, а про то что вариантов для 32 буковок будет 4.294.967.296
Отв: Найдите десять отличий...
Поэтому в базу кладем регэксп и 32 буквами сразу накрываем 4 миллиарда с лишним нахалов
Отв: Найдите десять отличий...
"Если у вас есть проблема и Вы пытаетесь решить ее при помощи регулярных выражений, то у Вас уже две проблемы" (С) Кто-то из великих.
Не знаю как в php но в перле это решается tr'ои типа
tr/укехароси/ykexapocu/
Естетственно список надо расширить учитывая, например Il1 O0 и прочие радости сильно зависящие от шрифта :(
Отв: Найдите десять отличий...
Угу. И потом по этой регулярке просматривать всю базу... Вот счастье-то будет серверу БД...
Отв: Найдите десять отличий...
Не надо так.
Ники lebird и lеbird оба породят "l[eе]bird". ;)
Отв: Найдите десять отличий...
Да нисколько это не сложно. Что сложного проверить каждую букву каждого ника попарно на совпадение, считая, что одинаковые по написанию русские и латинские буквы совпадают? Для Вашего, не самого маленького ника, к приммеру, нужно сделать всего 14 побуквенных сравнений. Для современной тезники это нет ничто. Могу привести пример форума, где побобное сравнение таки делается автоматом.
Отв: Найдите десять отличий...
Возьмёшься сделать модуль для этого?
Отв: Найдите десять отличий...
Увы, не знаю, как это сделать на языках, приемлемых для сайта, но на Паскале это выглядело бы примерно так:
var
Syms: string = "A..ZА..Я0..9 -/.."; //предполагается, что ники могут состоять только из русских и
//латинских букв, цифр и некоторых знаков пунктуации
EQs: Array [xx] of String = "AА", "BВ", "CС", "DД", "EЕ", "F", "G",... //здесь для каждого символа прописываются
//все символы, считающиеся "одинаковыми" для данного символа
//xx - число всех допустимых символов
Function ExistNick(theNick:String):Boolean;
var
i, ltn, lcn: Integer,
cNick, theNick: String;
begin
ExistNick := False;
cNick := "";
theNick := upper(trim(theNick);
ltn := length(theNick);
While GetNick(cNick) do // GetNick - функция выборки очередного ника из базы
begin
cNick := upper(trim(cNick);
lcn := length(cNick);
if lcn <> ltn then Exit;
for i := 1 to ltn do
if not EQSym(copy(theNick, i, 1), copy(cNick, i, 1)) then Exit;
end;
ExistNick := True;
end;
Function EqSym(theSym:char, cSym:char):boolean;
var
pt, pc: Integer,
begin
pt := pos(theSym, Syms);
pc := pos(cSym, EQs[pt]);
EqSym := (pc <> 0);
end;
Отв: Найдите десять отличий...
Паскаль не спасает совсем.
Нужен модуль для друпала, который через hook_user подправит процедуру регистрации.
Русские друпалоиды будут счастливы. А их изрядно пасётся на drupal.ru
Отв: Найдите десять отличий...
Илья, взгляни на http://drupal.org/project/custom_username_validation . На базе этого можно сделать, будет работать? (я что в друпале, что в перле - ни в зуб ногой, но попробовать можно).
Отв: Найдите десять отличий...
А какое решение принято ? Eсли разрешить только латиницу, то
-------------------copy/paste----------------
if($nickname == urlencode ($nickname))
{
return true;
}
else
{
return false;
}
-----------------------------
если замена кирилицы на похожую латиницу, то нужна таблица замен а в остальном
http://ru2.php.net/utf8_encode (UTF_to_Unicode)
Отв: Найдите десять отличий...
Imho, не замена не нужна, достаточно лишь выводить предупреждение о допустимости используемых символов.
Отв: Найдите десять отличий...
Если на сервер 3 раза в 5 секунд могут поступать запросы на регистрацию каких-то aeTоaA..MceBО [32 буквы], каждый из которых будет требовать проверки 4 с лишним миллиарда комбинаций, то может быть лучше "пойти другим путем"?
Имхо, лучше сделать второй список ников в БД, с отконвертироваными в один язык "двойными" буквами, и уже с ним сравнивать аналогичным образом переделаный ник новорегящегося.
Отв: Найдите десять отличий...
Никаких миллиардов комбинаций проверять не потребуется. Алгоритм сверки символов элементарен, просто делается сверка ников, записанных в KOI-8, на вхождение русских и латинских символов. Если имеются символы обеих кодовых таблиц, то они переводятся все в латинские, одинаковые по начертанию (например, k и к - можно не учитывать, и так видно) и дальше сравниваются. Мог бы написать такую прогу на ассемлере PDP-11, но вот современными языками, увы, не владею. Но думаю, что для нормального программера это на составит труда. Конечно, над алгоритмом надо немножко подумать ;). А в дальнейшем следует просто запретить при регистрации использовать смешанный код, т.е. сочетание обеих частей кодовой таблицы - латинских и русских символов, в одном нике, при попытке задания такого ника просто будет предложено пользователю исправить ошибку, и использовать только русские или только латинские символы. Большого неудобства это не вызовет.
Отв: Найдите десять отличий...
Этого недостаточно.
Кириллица: АТАМАН. Латиница: ATAMAH.
Отв: Найдите десять отличий...
Верное замечание ;). Тогда можно легко просмотреть весь ник на использование только визуально-совпадающих лат/рус символов, и запретить его. Т.е. предложить пользователю использовать другой ник, указав на ошибку - типа, "вы использовали символы, неотличимые по начертанию от таких же русских (латинских)". Или - даже без такого пояснения. Ведь запрещают же к регистрации ники, уже имеющиеся в базе, и пользователю все и так ясно. Просто: "вы не можете использовать этот ник, выберите другой". А вот вы попробовали бы на форуме в Альде зарегистрироваться! Там ник подобрать - страшная проблема... И сколько жалоб на это в гостевой - а им до лампочки. Так что это не смертельно.
Отв: Найдите десять отличий...
Я не понял. В чем смысл смешивания латиницы и русского алфавита? В использовании букв для подделки нормальных ников. Так?
А теперь, внимание, вопрос - сколько у нас ников, которые можно подделать используя только другой алфавит?
Отв: Найдите десять отличий...
За 5 минут нашёл 4 ника. Примеры - в личку.
Отв: Найдите десять отличий...
Кидайте. Но за 5 минут, и всего 4, это как раз подтверждает, что я прав. Кроме того, защититься от такого очень просто. Всего лишь зарегить второй ник. Т.е. - подделки будут сверхредкими.
+ еще остается r - г, которое тут не заметили.
Отв: Найдите десять отличий...
практически все AbanSpy- латиница ,AlbаnSру - латиница + кириллица
Отв: Найдите десять отличий...
все проще. теэги перед сравнением приводятся к одному набору символов a'la perl tr
tr/укехаросиIl1/ykexapoculll/
И уже затем сравниваются
Отв: Найдите десять отличий...
Т.е. каждому нику ставится в соответствие ровно один алиас, приведенный, скажем, к латинскому набору символов. И хранится в базе. А новые ники тоже приводятся к этому же набору и сравниваются сразу с алиасами?
Отв: Найдите десять отличий...
Именно, точнее к некоторому множеству "непохожих" символов. И никаких десятков, а тем более миллионов вариантов рассматривать не требуется. Просто поиск по индексу при регистрации (только не по нику, как сейчас, а по "алиасу"). И одна сортировка и проход по результату при начальном поиске дубликатов.
Отв: Найдите десять отличий...
Гм. Здраствуйте!
От оно ж как бывает. Ну раз уважаемой публике интересно, то рассказываю по порядку.
В результате неожиданной одновременной утери паролей от своей учетки на Либрусеке и почтового ящика, на который высылался новый пароль, пришлось заводить на Либрусеке новый профиль. Дабы он визуально не отличался от старого в нем действительно две первые буквы заменены на латинские.
Сделано это не корысти ради , а токмо из необходимости.
Хотя проблема поднята правильная, т.к. получается, что на Либрусеке нет защиты от флудеров.
Никто не мешает злым людям зарегистрироваться под известными и авторитетными никами и говорить разнообразные гадости и т.п.
Непонятно, почему до сих пор Либрусек на подвергся столь примитивной флуд-атаке.
Выход вижу простой и незатейлевый. При регистрации автоматически регистрировать ВСЕ варианты написания с учетом заменяемости русских букв на латинские.
У кого то будет несколько дополнительных логинов (например у pkn), у кого то несколько сотен (типа КОМАР, АТАМАН, СТРАХ).
Только так, чтоб было технически невозможно зарегестрировать клон ника, а словесно запрещать как п. 2.1.4. на одном из форумов yurbox , это не серьёзно. Увещевания спамера и флудера не остановят.
З.Ы. Уважаемому pkn выношу благодарность за бдительность.
Отв: Найдите десять отличий...
Скорее Ларину за kill-file
;-)
Отв: Найдите десять отличий...
Предлагаю компромиссное решение проблемы. Ну или оптимизацию (если будете регистрацию переделывать).
Обычно регистрируются или полностью с ником на кириллице или полностью на латинице. Тех кто нарушает это неписанное правило - ну, если не банить, то дополнительно проверить (автоматически или еще как).
Отв: Найдите десять отличий...
Да. Похоже это будет самый простой способ.
Отв: Найдите десять отличий...
Вы таки будете смеяться, но есть выход ещё проще.
Требуется регистрировать ники написанные только латинницей (английскими буквами).
И всё. Никаких больше других кодировок, языков.
Посмотрите на правую колонку сайта "Сейчас на сайте". Вы много видете рускоязычных ников? Я ни одного не узрел. Ибо так исторически сложилось.
Во-первых. Это снимает нашу горячо обсуждаемую проблему.
Во-вторых. Не надо ничего кодить для сайта. Только поставить фильтр проверки для написания ников ТОЛЬКО английскими буквами.
В-третьих, это исторически верно, т.к. в ФИДО кирилических ников не было.
Собственно всё.
З.Ы. Правда есть и ложка дёгтя в это миске мёда. Существующие на данный момент русские ники предётся автоматом перевести в транслит.
Отв: Найдите десять отличий...
Спасибо. Ваше предложение будет обязательно рассмотрено.
Отв: Найдите десять отличий...
А между тем, на многих форумах, при разрешенных кириллических никах, они неправильно отображаются при цитировании. Ближайший пример - внешний форум Либрусека. Там русские ники отображаются в цитатах крякозябрами. Поэтому я тоже сторонник латиницы в никах. А уж напоминание о ФИДО и вовсе настраивает в пользу этого предложения ;).
Отв: Найдите десять отличий...
Ники на латинице, ИМХО, действительно лучший выход, как справедливо заметил Тов.Костя ( не уверен правильно ли написал его ник :) ). А то на русском, на английском. Почему тогда не на польском, украинском или иврите? Однообразие всё же иногда приносит пользу. Это вроде как в некоторых языках программирования, можно идентификаторы писать на любом языке, но жутко неудобно.
Отв: Найдите десять отличий...
В последние годы кириллические ники появились.
Правда, в значительной части конференций ники вообще не применялись! Только "реалнейм"
Отв: Найдите десять отличий...
В годы моей молодости любая уважающая себя СУБД имела функцию "фонетического поиска" - например, слова "райт", "paйt", "right" и "write" по-фонетически совпадают. Может, и тут прикрутить что-то такое?
Отв: Найдите десять отличий...
?! Это какая же такая СУБД ? Простите, драгпререч, не верю (с). Максимум, что видел - поиск по кастрированным регуляркам ( WHERE username LIKE 'Lar*'). В общем случае - работает хреново.
Отв: Найдите десять отличий...
Кстати да, что же это за СУБД такая?
Отв: Найдите десять отличий...
Послушайте, а Вы не контрамот, случаем ? ;)
Отв: Найдите десять отличий...
* - Контрамот - это фантастический человек, живущий из будущего в прошлое.
Отв: Найдите десять отличий...
Я не контрамот, я ЕСник. Из прошлого то бишь. MVT, SVS, СВМ (эс-вэ-эм)... ОС ЕС, короче. А СУБД - навскидку АДАБАС (в девичестве ADABAS). См. также http://www.google.ru/search?hl=ru&q=%D1%84%D0%BE%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9+%D0%BF%D0%BE%D0%B8%D1%81%D0%BA&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=&aq=f&oq=
Отв: Найдите десять отличий...
MFT, VM SP., ДУВЗ... Так это в Natural фонетический поиск есть ? ;) Фигушки - Job not run, JCL error....
Страницы