Короткая но развеселая заметка из будней борьбы со спамом.
Допустим, у нас стоит задача, запретить оставлять свои контакты в каком-либо текстовом поле. Под контактами подразумеваем любые данные, которые ведут на другую социальную сеть или мессенджер. Например: номера телефонов, e-mail, ссылки на профили в Facebook и ВКонтакте.
Конечно, пользователям это не понравится, особенно если альтернатива — заплатить свои кровные пять копеек. Поэтому стартует раунд специальной олимпиады — как бы так исковеркать текст, чтобы алгоритм не понял, что это именно контактные данные?
Ради интереса, собрал небольшой списочек разных вариантов. Поплачьте вместе со мной, да.
WhatsApp — каноничный вариант, для референса. А теперь, начинается хтонический ужас:
wapp, воцап, воцапе, вайцап, vвотцар, воссап, ватсаб, всапп, вцабб, ведсап, ватсап, цапе, выцапан, watsap, vhatsapp, whatsup, whatapp, wtzp, whatsap, vatsap, what’s app, whatssapp, w h a t s, watsaap, what’s up, whapp, wathsape, wahatsapp, wp, whaazapa, vathsapp, watsp, whatsa, uozzaap, wapsattan — этот, мой любимый.
Все это не считая вариантов разделенных пробелами «w h a t s», другими разделителями типа «w.h.a-t-sapp», повторения букв «вааацааап» и других увеселительных мероприятий. И мы еще даже не добрались до самих номеров телефонов для WhatsApp.
И фильтруя все это, стоит не забывать, что пользователь может просто поприветствовать собеседника «what’s up bro» и любые следующий цифры могут быть отнюдь не номером телефона, а датой и временем или гео-координатами или бог весть чем.
Шах и мат любители регэкспов для фильтрации спама.