спам и грязные слова комментируют пост-фильтрацию / предотвращение / блокировку в python (django) - PullRequest
1 голос
/ 20 мая 2010

Мой основной вопрос - как предотвратить спам и грязные слова в системе постов комментариев под python (django).

У меня есть коллекция фраз (примерно 3000 фраз), которые нужно заблокировать.

Что я хочу сделать, это так:

Если я обнаружил комментарий, в котором есть грязное слово, когда пользователь нажимает кнопку «Опубликовать», то в Интернете должно появиться предупреждающее сообщение и попросить людей повторно ввести / исправить комментарии и отправить их снова. Это просто мешает людям отправлять грубые / спам-комментарии.

Вопрос (1), существует ли какой-либо пакет / модуль / плагин с открытым исходным кодом Python (или django), который может справиться с этой работой? Я знал, что есть один по имени Akismet. Но из того, что я понял, это не решит мою проблему. Akismet - это просто веб-сервис, который фильтрует словарь слов, определенный Akismet. Но у меня есть своя коллекция слов. Пожалуйста, поправьте меня, если я ошибаюсь.

Вопрос (2), Если нет такого пакета с открытым исходным кодом, который я мог бы использовать, как создать свой собственный? Единственное, о чем я могу думать, - это использовать регулярное выражение и объединять все словосочетания с помощью «или» в регулярном выражении. но у меня есть 3000 фраз, я думаю, что это не будет работать с точки зрения производительности и фильтровать каждый комментарий. какие предложения, с чего мне начать?

Большое спасибо за вашу помощь и время.

1 Ответ

4 голосов
/ 20 мая 2010

Возможно, вы захотите проверить настройку PROFANITIES_LIST , похоже, вы можете использовать ее с валидаторами .

Хотя, с таким количеством (3000 действительно? Вы должны быть веселыми на вечеринках) фраз, которые вы хотите переосмыслить. Вы не должны фильтровать СПАМ. Вы должны выбросить это. Просто мое мнение. Если в комментарии есть СПАМ, зачем вообще его хранить? Есть ли какая-то добавленная стоимость от такого комментария?

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