Вітаю всіх читачів блогу Seobid.net. У минулій статті ви познайомилися з одним цікавим плагіном - Clean Up Users. який вміє видаляти зареєстрованих, але непрацюючих користувачів, простіше кажучи - спамерів і спамерських пошукових роботів. І я обіцяв вам, що знайду спосіб, як здійснити функцію недопущення реєстрації роботів. Схоже, що мені це вдалося - на одному своєму сайті я встановив цей код, з яким ви познайомитеся нижче і, (о, диво!) Потік реєстрацій, яких у мене на цьому сайті було до 30-50 в день, раптово припинився.
Як підстрахуватися від спам-ботів
Як ви знаєте, при адмініструванні та розробці сайтів веб-майстри часто стикаються з появою спам-скриптів, автоматично проходять реєстрацію користувача на сайтах, а потім спокійнісінько розсилають свій улюблений спам. Принцип дії функції, яку я пропоную до розгляду, простий, як все геніальне.
В існуючий код реєстрації додається нове текстове поле, щоб вводити логін під ім'ям, наприклад, «spamunet_user_login», а старе поле «user_login» робиться невидимим, вставляють паралельну перевірку на заповнення цього нового текстового невидимого поля. Як бачите, після внесення змін зовні нічого не змінилося.
Адже ви можете задати абсолютно будь-яке значення цього поля, в тому числі і цифрове. Наприклад, «11dfhbt56 nkhjy000asdwer_user_login», і так для кожного свого сайту. Більш того, для підстраховки ви можете іноді просто міняти це значення, що забере у вас пару хвилин. Зрозуміло, що значення «user_login» має бути присутнім обов'язково.
Ось таким питанням зустрічає нас наш WordPress, якщо ви забули і неправильно ввели пароль вже після реєстрації. Ну, а зареєструватися спамерам він просто не дозволяє.
Замініть його на такий:
У цьому ж файлі, поруч, знайдіть ось цей вислів:
І замість нього вставте:
Якщо хтось буде реєструватися (я маю на увазі людину, а не робота), то весь процес буде проходити, як зазвичай, так як людина заповнить саме ті поля, які потрібні:
Тобто, спам-роботів на ваш сайт вже не потрапити, тому що вони будуть заповнювати поле «user_login», а не те, яке ви призначили. І не забудьте змінити «user_login» на щось своє, нехай навіть це значення буде мати 100 символів. Видалити ж уже зареєстрованих спам-користувачів ви можете все тим же плагіном Clean Up Users, який ви знайдете на офіційному сайті розробника плагіна.
P.S. Минуло кілька днів, і я хочу показати вам один скріншот:
Такими листами тепер завалена моя корзина на пошті. Це повідомлення про те, що хтось не зміг зареєструватися у мене на сайті. Я думаю, ви зрозуміли, хто цей «хтось». Так-так, це спам-бот. Листів вже кілька десятків, і я їх просто направив в спам, щоб не заважали нормальній роботі поштової скриньки.
Як бачите, рішення працює, і це дуже добре - інакше мені довелося б чистити своїх користувачів щотижня.
Як щось не докладно описали, чайники будуть маятся. Всі робите в файлі login.php
1. Копіюємо
2. У полі, що міняємо name і id на, наприклад, nospam_user_login
3. Пунктом робите те, що вказано в пості,
І має всі працювати.