Управление сообщениями незарегистрированных пользователей путем проверки
-
21-08-2019 - |
Вопрос
Я рассматриваю возможность разрешить пользователям размещать сообщения на моем сайте без необходимости их регистрации или предоставления какой-либо идентифицирующей информации.Если каждое сообщение отправляется в очередь базы данных, а затем я вручную просматриваю эти сообщения, с какими проблемами я могу столкнуться?Как я мог бы справиться с этими проблемами?
Решение
Просмотр каждого поста был бы утомительным занятием.И подвержен раздражающему админ-спаму.Мое предложение состояло бы в том, чтобы автоматизировать как можно больше проверок.И, кроме того, предоставление какой-либо идентифицирующей информации никак не предотвращает спам (бот просто сгенерирует ее).
Во многих проектах внедряется система распознавания:сначала пользователь должен опубликовать 1-2 одобренных поста, затем по IP и (возможно) cookie он идентифицируется как доверенный участник, поэтому его посты появляются автоматически (и позже могут быть помечены как спам).
Также можно использовать некоторые эвристические параметры содержания сообщения (например, количество ссылок в сообщении), чтобы автоматически отбрасывать потенциальные спам-сообщения.
Другие советы
Самая очевидная проблема заключается в том, что вы будете ошеломлены количеством просмотров, если ваш сайт достаточно популярен.
Я бы обязательно добавил некоторые инструменты администрирования, чтобы вы могли автоматически удалять все сообщения с определенного IP-адреса или которые соответствуют определенному регулярному выражению.Это должно помочь быстрее избавиться от явного спама, но, опять же, для всего этого вам придется быть за рулем.
Скука, кажется, вызывает наибольшую озабоченность – проверка сообщений вручную эффективна против спама (я предполагаю, что это то, что вы хотите отсеять), но очень скучна.
Может быть, лучше всего это исправить чашечкой кофе и приятной музыкой, которую можно послушать во время прополки?
Я обнаружил, что запрос ответа на простой вопрос отправляет браузеру изображение (например, "2 + 3 - 4 =", разновидность "капчи", но не такая раздражающая), с небольшим количеством Javascript работает довольно хорошо.
Отправьте свою форму с изображением и полем ответа, а также скрытое поле с "вызовом" (какая-нибудь случайно сгенерированная строка).Когда пользователь отправит форму, хэшируйте запрос и ответ и отправьте результат обратно на сервер.Сервер может проверить правильность ответа, прежде чем добавлять его в базу данных для проверки.
Кажется, что впереди предстоит большая работа, но это сэкономит часы времени на просмотр.Использование jQuery:
<script type="text/javascript"> // Hash function to mask the answer function answerMask() { var a = $('#a').val(); var c = $('#c').val(); var h = hex_md5(hex_md5(a) + c); $('#a').val(h); } </script> <form onsubmit="answerMask()" action="/cgi-bin/comment.py" method="POST"> <table> <tr><td>Comment</td><td><input type="text" name="comment" /></td></tr> <tr><td># put image here #</td><td><input id="p" type="text" name="a" size="30" /></td></tr> <tr><td><input id="c" type="hidden" value="ddd8c315d759a74c75421055a16f6c52" name="c" /></td><td><input type="submit" value=" Go "></td></tr> </p> </form>
Редактировать обновление...
Я видел эту технику на веб-сайте, не уверен, на каком именно, так что эта идея не моя, но вы можете счесть ее полезной.
Предоставьте форму с полем запроса и полем комментария.Дополните задание словами "Выбери третье слово из:glark snerm horkorf" таким образом, слова и то, какое из них выбрать, легко сгенерировать на сервере и легко проверить, когда содержимое формы вернется.
Смысл в том, чтобы заставить пользователя делать что - то, приложите несколько мозговых клеток и потрудитесь больше, чем это стоит для ребенка-сценариста.
- сообщения, которые пытаются выглядеть законными, но таковыми не являются
- огромный объем
Это проблемы, которые я вижу в своем блоге.