Вы здесьНайдите десять отличий...
Опубликовано ср, 07/01/2009 - 21:40 пользователем pkn
Хе-хе... P.S. Этот топик не модерируется, как и все создаваемые мной топики.
|
Вход на сайтПоиск по блогам и форумамUser menuПоследние комментарии
aldan RE:Подайте бедному копеечку на книжку с литреса... 17 часов
Larisa_F RE:Серия "Новые сказочные повести" издательство "Самовар" ... 4 дня sem14 RE:Серия "Символы времени" издательства "Аграф" 6 дней Larisa_F RE:Серия книг «Судьбы книг» издательства «Книга» 1 неделя tvv RE:faq brainstorm =) 1 неделя Larisa_F RE:Серия "Что есть что" издательства "Слово"(чего не хватает) 1 неделя Larisa_F RE:Серия "Очень прикольная книга", издательство Азбука-классика 2 недели larin RE:абонемент не обновлен 2 недели sem14 RE:За иллюминатором (серия) - чего не хватает? 2 недели sem14 RE:Собираем серию: "Мастер серия", издательство "Лимбус". 2 недели Larisa_F RE:Книжная серия «Сlio» издательства "Евразия" 3 недели larin RE:Пропал абонемент 4 недели tvv RE:DNS 4 недели MrMansur RE:<НРЗБ> 1 месяц Stager RE:Беженцы с Флибусты 1 месяц Tramell RE:Серия "Библиотека французской литературы" (Макбел) 1 месяц sem14 RE:Книжная серия "Жизнь в искусстве" издательство "Искусство"... 1 месяц sem14 RE:Современная корейская литература. Книжная серия... 1 месяц Впечатления о книгах
Oleg68 про Кристенсен: Полубрат [Halvbroren ru] (Современная проза)
31 01 Долго читал. Неоднозначная книга. С одной стороны,- интересная, С другой,- как- то рывками. Оценка: хорошо
udrees про Леруа: Мутанты: О генетической изменчивости и человеческом теле [Mutants: On Genetic Variety and the Human Body ru] (Биология)
31 01 Отличная книга, написанная как можно более доступным языком про генетику, язык генов и как мутации в них влияют на человека. Приводится все это на примерах достаточно известных мутаций – сросшиеся близнецы, волосатые люди, ……… Оценка: отлично!
udrees про Атаманов: Первая зима [СИ] (Фэнтези, ЛитРПГ, Самиздат, сетевая литература)
31 01 Хорошо написано в жанре литРПГ, хорошее продолжение. Герой и его альянс продолжают свое развитие в новом мире. Нюансом является то, что есть боги-валлары, которые вмешиваются в игровой процесс, собственно так его они и именуют. ……… Оценка: хорошо
udrees про Атаманов: На службе Фараона [СИ] (Фэнтези, ЛитРПГ, Самиздат, сетевая литература)
31 01 Вторая книга написана не хуже первой и держит в напряжении на всем протяжении повествования. Рассказ как обычно идет от двух лиц – человека и котенка. Приключений навалом, написано просто и живо. Немного конечно коробит, когда ……… Оценка: хорошо
udrees про Атаманов: Котёнок и его человек [СИ] (Фэнтези, Самиздат, сетевая литература)
31 01 Хорошее произведение в жанре литРПГ и попаданца. Начало конечно скомканное, читателя сразу бросают в бой, как говорится. Скучное начало быстро пролетает, так как героя сразу перебрасывают в сказочный мир, хотя вру, не сразу ……… Оценка: хорошо
tvv про Лонс: Темный флешбэк [litres] (Детективная фантастика)
30 01 4 книга этой серии (Эксгрегум[litres]) есть на Ф., но размер ее больше 10 мегабайт. Пожалуйста, кто может, сделайте нашу библиотеку еще совершеннее?
Barbud про kv23: Кредитное плечо Магеллана (Альтернативная история, Попаданцы, Историческое фэнтези, Самиздат, сетевая литература)
30 01 Изобилие биржевых терминов, явные анахронизмы типа слова "садист" из уст одного из персонажей или корабельных весов, градуированных в килограммах. Не зашло как-то. Оценка: плохо
Sello про Нечаев: АнтиNаполеон (История, Публицистика)
30 01 Не смог дочитать до конца, хотя до этого несколько прочитанных книг Нечаева дали повод составить об авторе благоприятное мнение. В аннотации написано про "глобальный бренд" по имени Наполеон, но в содержании нечто обратное: ……… Оценка: нечитаемо
Олег Макаров. про Карелин: Торговец Правдой 1 (Городское фэнтези, Попаданцы, Самиздат, сетевая литература)
30 01 Феерическая чушь. Как будто взяли штампы и наштамповали. Оценка: нечитаемо
Oleg68 про Хайнлайн: Туннель в небе [Tunnel In The Sky ru] (Научная фантастика)
27 01 Мне понравилось. Не понял отзыв об американских детишках. Американский автор должен писать о советских детишках? Так для этого есть Головачев и другие.
Stager про Оченков: Гроза над Бомарзундом [СИ] (Альтернативная история, Попаданцы, Самиздат, сетевая литература)
26 01 Первую я с трудом осилил. Автор, конечно, ни в чём не разбирается, но исторический наброс любопытен. А дальше... Автор совсем ни в чём не разбирается... Ну да, сталей у него не было, но было естественно-легированное шведское ……… Оценка: плохо |
Комментарии
Отв: Найдите десять отличий...
Это, скорее всего, многодельно. Потому что естественный алгоритм предполагает проверку всех возможных вариантов ника. У меня их, скажем - 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....
Страницы