прямой ответ, вы не будете в состоянии сделать это.
Если я действительно хочу, чтобы СПАМ был похож на «понравившуюся» кнопку, я найду способ сделать это, особенно если вы не заставляете меня заходить (я использовал для написания хороших ботов и был довольно эффективным спамом сайты подачи больших ссылок).
Javascript остановит только посредственных спамеров или носков. Как спамер, я могу легко обойти Javascript, либо программируя робота, основанного на времени, как ваше сообщение, либо отправляя запросы непосредственно на ваш сервер (я даже не буду загружать ваш сайт).
Что вам нужно сделать, если вы действительно хотите, чтобы предотвратить спамеров от спама эту функцию эффективно (эффективность является ключевым словом здесь, потому что спамеры могут по-прежнему спам ваша особенность, но их любит не рассчитывать), чтобы войти каждый IP, которому нравится сообщение вместе с его географической информацией (это не всегда на 100% точнее, но это хороший старт), а затем запустить процесс в фоновом режиме, который проверяет подозрительное происхождение и наказывает такие симпатии (либо присваивая им меньшее значение, либо просто вычитая их из общего счета).
Например, если ваша основная аудитория - это люди, живущие в Соединенных Штатах, но одна почта получает кучу симпатий из Мексики, Сальвадора, Индии, Австралии, России, то более чем вероятно, что есть спамер за прокси или сеть, подобная TOR, и он/она может изменить свой IP-адрес по своей воле.
После нескольких сотен тысяч записей у вас будет хорошая база для запуска черного списка IP-адресов. Я обычно использую язык программирования R для получения статистической информации о моих базах данных.
Но тогда хороший спамер мог бы использовать список IP-адресов скомпрометированных компьютеров, исходящих из страны вашей страны или географического местоположения, и использовать эти IP-адреса для злоупотребления этой функцией.Эти боты сложнее обнаружить, но вы можете анализировать предыдущие сообщения и придумывать полезные показатели как «Отношение к комментариям/комментариям».
Если у одного сообщения есть огромное количество понравившихся, но малочисленных комментариев, то очень вероятно, что кто-то его спам, но потом я могу запрограммировать своего бота, чтобы он понравился и разместил комментарий, чтобы номера выглядели естественными.
Я не уверен, в каком проекте вы работаете, но если это что-то похожее на представление ссылок, не ставьте (независимо от ваших пользователей) количество понравившихся.
Число понравившихся должно быть только фактором, вы можете взглянуть на то, как HackerNews или Reddit оценивают должности (эти проекты с открытым исходным кодом), но это комбинация между несколькими факторами.
Не имея логин пользователя нет 100% дурака способ сделать это. Запись IP-адреса в вашей базе данных предотвратит попадание нескольких пользователей в подсеть из Liking вашего контента. – MonkeyZeus
Без регистрации? Я бы предложил cookie, но все подходы будут иметь проблемы. – mccainz
cookie может помочь в решении этой задачи. Храните файл cookie, когда пользователь однажды нажал 'like'. И проверьте этот файл cookie при обработке 'like' click. –