Что я могу сделать, чтобы справиться с плохим поведением пользователей на сайте? - PullRequest
1 голос
/ 13 октября 2009

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

Мой вопрос заключается в том, какие алгоритмы, методы и т. Д. Мы можем использовать для мониторинга и обработки этих «плохих пользовательских» взаимодействий с нашим веб-сайтом.

Прямо сейчас, мы действительно только придумали проверку сообщений по базе данных людей, колледжей и названий компаний. Это сделало бы посты несколько анонимными и вызвала бы оскорбление. Что еще мы должны / можем внедрить в наш дизайн, чтобы это сделать?

Решение:

У всех были действительно хорошие предложения, которые я собираюсь исследовать немного больше. Что касается составления списка, я экспериментировал с небольшим написанным мною сценарием, который берет коллекцию веб-сайтов, которые содержат каталоги имен со значительным объемом данных (3000-4000 имен), и я анализирую HTML, и сохранение каждого значения в базе данных, которая будет обрабатываться для сообщений пользователя. Это немного "временное решение", но пока оно будет хорошим тестером.

Ответы [ 3 ]

3 голосов
/ 13 октября 2009

Для хорошего понимания проблемы, с некоторыми общими советами, ознакомьтесь со стенограммой выступления Клэя Ширки: Группа является ее злейшим врагом

Для кражи напрямую из подкаста StackOverflow ограничение скорости является одним из наиболее эффективных методов. Установите разумные ограничения на количество времени, которое может пройти между комментариями, и, если предел будет превышен, поместите этого пользователя во временный период «охлаждения», когда он не может взаимодействовать в течение нескольких минут. Если они продолжают подпрыгивать против этого предела, у вас может быть патологический обидчик, и вы можете охладить их дольше, попросить их воздержаться и т. Д.

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

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

1 голос
/ 13 октября 2009

Чтобы остановить злых людей, я большой поклонник ссылки "Пометить этот пост". Ваше сообщество сделает большую часть модерации за вас.

Чтобы остановить разумных людей, которые написали что-то подстрекательское, вы можете попытаться быть умным. Составьте длинный список действительно сильных слов (очевидно, что проклятия являются самыми сильными) и оцените каждое из них соответствующим образом. Если показатель силы слова в сообщении (с поправкой на количество слов в сообщении) пересекает пороговое значение, отобразите большое красное предупреждение и предложите постеру рассмотреть возможность переписывания. И если они в любом случае нажмут кнопку «Отправить», отправьте это в очередь на модерацию, а не отправляйте немедленно.

Чтобы остановить спаммеров, я большой поклонник криптографической функции nonce + hash, выполняемой в технике воспроизведения javascript + cookie. Не требуется визуальное пространство для уродливой капчи, и эквивалентная производительность на практике. Я еще не видел, чтобы спамер преодолевал препятствия, необходимые, чтобы победить его автоматически. Я видел сбитых с толку спаммеров, которые вручную вводили спам после того, как их автоматизированные системы были отклонены с точностью до 100,0%.

И полностью прочитайте эту ссылку Клэя Ширки из другого ответа. Понимание динамики сообщества является ключевым.

Дополнения : Реализация неинтерактивной капчи.

Сделайте AJAX-запрос для одноразового номера на сервер. Сервер отправляет обратно ответ JSON, содержащий одноразовый номер, а также устанавливает файл cookie, содержащий значение одноразового номера. Рассчитайте хэш SHA1 для одноразового номера в javascript, скопируйте значение в скрытое поле. Когда пользователь отправляет форму POST, он теперь отправляет cookie обратно со значением nonce. Рассчитайте хэш SHA1 для одноразового номера из файла cookie, сравните его со значением в скрытом поле и убедитесь, что вы сгенерировали этот одноразовый номер за последние 15 минут (memcached подходит для этого). Если все эти проверки пройдены, оставьте комментарий.

Эта техника требует, чтобы спаммер садился и выяснял, что происходит, и, как только они это сделали, им все равно приходилось запускать несколько запросов и поддерживать состояние, чтобы получить комментарий. Это намного, гораздо больше работы, чем большинство спамеров готовы пройти, тем более что работа относится только к одному сайту. Самым большим недостатком является то, что любой, у кого отключен JavaScript или cookie, помечен как потенциальный спам. Это означает, что очереди на модерацию все еще хорошая идея.

Теоретически это можно квалифицировать как безопасность через неизвестность, но на практике это отлично.

1 голос
/ 13 октября 2009

Зависит от того, сколько пользователей, сколько терпимости к глупости (нормально ли, чтобы оскорбительный пост был там некоторое время) и т. Д.

Одной из возможностей может быть требование от пользователей создавать учетные записи пользователей (соответственно CAPTCHAed для предотвращения автоматического создания учетной записи), прежде чем они смогут публиковать сообщения. Затем при необходимости удалите оскорбительные сообщения (и соответствующие учетные записи).

Существуют разные способы выявления оскорбительных сообщений. Один из стандартных методов 2.0 - позволить пользователям отмечать сообщения друг друга как оскорбительные. Это может облегчить захват администраторами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...