Управление незарегистрированными пользовательскими сообщениями с помощью скрининга - PullRequest
3 голосов
/ 22 марта 2009

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

Ответы [ 5 ]

6 голосов
/ 22 марта 2009

Просмотр каждого поста был бы утомительным и утомительным. И склонен к раздражающему админу спам. Мое предложение было бы автоматизировать как можно больше скрининга. И кроме того, предоставление любой идентифицирующей информации никак не предотвращает спам (бот просто генерирует ее).

Многие проекты внедряют систему распознавания: сначала пользователь должен опубликовать 1-2 утвержденных сообщения, затем по IP и (возможно) cookie, которые он идентифицировал как доверенный, поэтому его сообщения появляются автоматически (и позже могут помечать как спам).

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

5 голосов
/ 22 марта 2009

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

Я бы обязательно добавил несколько инструментов администратора, чтобы вы могли автоматически убивать все сообщения с определенного IP-адреса или с соответствующим регулярным выражением. Это должно помочь быстрее избавиться от явного спама, но опять же, вам все равно придется сесть за руль.

2 голосов
/ 22 марта 2009

Я обнаружил, что запрос ответа на простой вопрос отправил браузер в виде изображения (например, «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 hork morf», чтобы слова и какой из них выбрать были легко сгенерированы на сервере и легко проверялись при возвращении содержимого формы.

Смысл в том, чтобы заставить пользователя сделать что-то , применить несколько клеток мозга и выполнить больше работы, чем это стоит для детского сценария.

2 голосов
/ 22 марта 2009

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

Лучше всего починить чашку кофе и послушать приятную музыку во время прополки?

0 голосов
/ 22 марта 2009
  • сообщений, которые пытаются выглядеть законно, но не
  • абсолютный объем

Это проблемы, которые я вижу в своем блоге.

...