2015-09-04 10 views
0

Я пишу что-то, что позволяет размещать некоторые длинные формы контента, такие как сообщения в блогах, которые не требуют регистрации. Я хочу определить, является ли сообщение дубликатом. Чтобы быть ясным, он не должен быть совершенным, просто поймайте очевидные обманы, такие как спамеры или ошибки, когда код внешнего интерфейса не работает, и пользователь отправляет два запроса на создание сообщения или что-то в этом роде.Обнаружение дублирующегося сообщения

Моя первоначальная идея - удалить специальные символы, пробелы и некоторые общие слова типа и, но, или т. Д., А затем md5. Затем я могу сохранить «duplicate_hash» или что-то в БД.

Затем, когда вы отправляетесь на почту, он будет делать запрос в БД для этого уникального хэша. Если хэш обнаружен, вы получаете повторяющуюся ошибку.

Будет ли это работать очень хорошо или есть лучшая идея для этого? Мы используем Node и MySQL, если для этого уже есть какие-то специальные инструменты, которые я не нахожу.

+0

Проблема с использованием hasing как md5 для чего-то вроде этого состоит в том, что даже если один и тот же вход всегда будет выдавать один и тот же результат (хешированный), две очень похожие фразы с малейшей разницей приведут к совершенно другому хешу. – Drown

+0

@Charles Если кто-то использует какую-то другую фразу где-то, как я уже упоминал, меня это не волнует. Попытка поймать очевидные дубликаты. т. е. «Кошка быстрая» против «Эта кошка быстрая», это нормально, чтобы пройти. Мой вариант использования - боты, которые публикуют одинаковые сообщения и людей, которые дважды публикуют (случайно) –

ответ

1

Если ваша цель состоит в том, чтобы предотвратить двойное представление кем-либо, нажав кнопку обновления или возврата, сообщения будут абсолютно одинаковыми, так что это простое совпадение.

Если вы хотите предотвратить спам, то хеш сообщения md5, вероятно, зависит от конкретного, поскольку простое изменение символа создает другой хеш.

Если вы хотите придерживаться хеш-памяти md5, вы можете использовать хэш только часть сообщений, от 100 символов до 500 символов. Или в нижнем регистре все, удалите общие слова, как вы сказали, выберите первые 25 или 50 слов, а затем хэш.

 Смежные вопросы

  • Нет связанных вопросов^_^