Невізуальні методи захисту сайту від спаму

Невізуальні методи захисту сайту від спаму використовують, зокрема, аналіз переданого тексту. Спамери використовують багато прийомів, щоб ускладнити такий аналіз. Тут буде показано приклади одного з них, а саме підстановки символів. Наведені приклади взяті з даних компанії CleanTalk.

Підстановка символів дуже проста, але в результаті її можуть не працювати фільтри за стоп-словами, можуть гірше працювати байєсовські фільтри, а також фільтри з визначенням мови. Тому перед застосуванням цих фільтрів є сенс повернути символам їх справжнє обличчя.

Проте заміна символів допустима у разі, коли зміст написаного тексту після заміни зберігається. І необхідна для приведення безлічі службових символів до одного.

Тут я покажу два найцікавіші, на мій погляд, способи такої підстановки символів з тих, що зустрілися нам.

1. Заміна символів звичайного зображення

Спамери роблять все, щоб текст впадав у вічі, навіть при побіжному погляді. На щастя їм, Unicode надає набори латинських символів розширеного начертания. На щастя для нас, це легко виправляється.

Нижче наведені найпоширеніші способи, як латинські символи замінюються ті самі латинські, але з основного діапазону латиниці.

Вигляд символів Початок діапазону Приклад
розширеніU+FF01&#xFF36&#xFF49&#xFF41&#xFF27&#xFF52&#xFF41
у рамках основніU+2460x2467-x2467-x2467-x24EA-x24EA-x2460-x2467-x2467-x2467-x2467-x2467-x2467
в рамках додатковіU+1F130🄲🄰&xx
в рамках додатковіU+1F150&#x1F15D&#x1F15E&#x1F166
в рамках додатковіU+1F170&#x1F175&#x1F17E&#x1F181
в рамках додатковіU+1F1E6&#x1F1EB&#x1F1F7&#x1F1EA&#x1F1EA
Заміна таких латинських символів на звичайні робиться простим регулярним виразом. Після такої заміни наступні фільтри працюють якісніше та швидше, т.к. діапазон вхідних значень сильно звужується.

2. Заміна точки

Найпоширеніші з таких точок, що зустрілися нам, наведені нижче.