Удаление спама из таблицы базы данных MySQL - PullRequest
1 голос
/ 03 апреля 2012

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

Спам-комментарии обычно включают необработанные URL-адреса HTML или BBCode, которые я в настоящее время сопоставляю и удаляю (комментарии не допускают / отображают HTML), комментарии и имена с типичными ключевыми словами (бесплатно, покупка, купоны, ссуды, cialis, виагра и т. д.) и случайной ерундой, например:

они перепроверит с отелем. После долгих размышлений она fllainy сказала, что заинтересованный peson, который сделал бронирование, оставил работу отеля, и теперь мне можно дать альтернативный отель. Я специально забронировал этот отель, который находится прямо на пляже, заплатив столько денег, ноМне предложили альтернативный отель в городе Панджим, от которого можно добраться до пляжа, это занимает около 45-60 минут, а также удовольствие от отдыха на пляже моей семьи. Потеря. Я пошел на компромисс и поселился в новом отеле в Панджиме.Но 28-го, когда я зарегистрировался в новом отеле Royal PArk BeachКурорт Я был ошеломлен, увидев состояние так называемого 3-звездочного отеля. Отель не был рядом с упомянутым статусом при продаже пакета. Качество отеля было совершенно низким.Он лучше соответствовал небольшой городской гостинице 3-го класса с вырытым входом, дешевым залом для приема гостей, вонючими комнатами и ванными комнатами, сгоревшими занавесками, плохой мебелью, постоянным строительством рядом с моей комнатой, ветхими сантехникой, грязным полом, грязным и влажнымпостельное белье и общее плохое самочувствие. [У меня есть доказательства всех фотографий]. Я сразу же сообщил, что отправляюсь в поездку "из состояния отеля, и хотел найти другую гостиницу, но отправляюсь в поездку", продолжая говорить мне об ожидании, и они будут его изучать.мой ребенок заболел и немедленно нуждался в отдыхе. У меня не было другого выбора, кроме как зарегистрироваться в этом отеле. Одновременно я продолжал звонить в Makemytrip в течение нескольких часов, но безрезультатно. Это было потрачено впустую целый день. Наконец, я организовал новый подлинный 4-звездочный отель.который был рупий5500 / - за ночь (намного ниже 7211 рупий / - для этого отеля, забронированного компанией Make my trip). Я сообщил MakeMy Trip 28 января 2012 года, чтобы отменить бронирование и вернуть мне все деньги. Также отправил им письмо по этому поводу.Я все еще жду положительного ответа от них, но я меньше всего надеюсь получить его. Так что теперь я подхожу к суду, чтобы получить свои взносы и компенсацию. Арвиндер

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

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

У меня похожая проблема с одним из приложений, которые мне нужны. Я называю людей, которые предоставляют нежелательные данные "клоунами", и собираю набор правил, которые идентифицируют потенциальных клоунов. Первоначальный набор правил был довольно простым (вероятно, похожим на ключевые слова, которые у вас есть сейчас). Набор правил со временем расширился как на основе моих собственных наблюдений, так и на основе советов коллег.

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

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

0 голосов
/ 03 апреля 2012

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

DELETE FROM `table` WHERE `field` REGEXP 'vigra|spam|example'

Редактировать: Также из вашего обновленного примера вы можете пометить спам как имеющий определенную длину символа:

DELETE FROM `table` 
WHERE `field` REGEXP 'vigra|spam|example'
OR LENGTH(`field`) > 500
... etc
...