Перейти к содержимому



Купить ссылку здесь
Фотография
- - - - -

Анти-Спам на PHP с авто-баном и сканированием комментариев! (vk.com)

Форум ZiSMO.biz
анти-спам вк вконтакте спам сообщество группа
4
Сообщений в теме: 4

OFFLINE Отправлено

Yanukovich
группа пользователя

    Пользователь

  • Cообщений: 917
  • Друзей:4
  • Поинты: 6
  • Предупреждений: 105
25

Как все настроить:
1) Получаем access_token для standalone приложения, которое имеет почти все возможности, кроме читать вашу переписку.
2) Открываем скрипт, редактируем конфиг (все закомментировано)
3) Пихаем все в Cron на хостинг.
Скрипт не сканирует записи от имени группы.

Сам скрипт:

<?php
/*
*/
$GroupId = '35128524'; //Id вашей группы
$AccessToken = '123'; //ваш access_token
/*
В переменной $Ban содержится инфа по бану юзверей.
Значение массива "time" отвечает за время бана игрока в Unix времени. (в секундах кароч).
Формула для расчета дней: сутки * 86400 (к примеру: 4*86400 = 345600).
Если вы установите значение 0, юзверь будет забанен навсегда.

Значение массива "comment" отвечает за текст, который будет показан пользователю при бане.
*/
$Ban = array(
"time" => "345600",
"comment" => "Уважаемый пользователь, в вашем сообщение найден спам-текст. Если вы считаете, что вас забанили случайно, напишите нам на email: iam@ekifox.net"
);

function json2array($json){
if(get_magic_quotes_gpc()){
$json = stripslashes($json);
}
$json = substr($json, 1, -1);
$json = str_replace(array(":", "{", "[", "}", "]"), array("=>", "array(", "array(", ")", ")"), $json);
@eval("\$json_array = array({$json});");
return $json_array;
}
function spamcheck($text){
$text = strtolower($text);
$spamtext = array("подпиши", "vk.com", "club", "public", "http", "зайди", "в лс", "youtube", "прода", "вк.ком", "приглашаем", "мониторинг", "видео", "youtube.com", "youtu.be", "ip", "канал", "хост", "ютуб", "ип");
foreach($spamtext as $spam){
$pos = strpos($text, $spam);
if($pos !== false){
return true;
}
}
return false;
}
$SpamMessages = array();
$SpamComments = array();
$SpamUID = array();
//Получаем список последних 10 сообщений
$GetWall = json2array(file_get_contents("https://api.vk.com/method/wall.get?owner_id=-{$GroupId}&filter=others&count=10"));
$GetWall = $GetWall['response'];
unset($GetWall[0]);
foreach($GetWall as $wall){
if(spamcheck($wall['text']) == true){
$SpamMessages[]=$wall['id'];
$SpamUID[]=$wall['from_id'];
}
$GetComments = json2array(file_get_contents("https://api.vk.com/method/wall.getComments?owner_id=-{$GroupId}&count=10&post_id={$wall['id']}&need_likes=0&sort=desc&preview_length=0"));
$GetComments = $GetComments['response'];
unset($GetComments[0]);
foreach($GetComments as $comm){
if(spamcheck($comm['text']) == true){
$SpamComments[]=$comm['cid'];
$SpamUID[]=$comm['from_id'];
}
}
}
//Удаляем все спам сообщения, если они есть
if(count($SpamMessages) > 0){
foreach($SpamMessages as $post){
file_get_contents("https://api.vk.com/method/wall.delete?owner_id=-{$GroupId}&access_token={$AccessToken}&post_id={$post}");
}
}
if(count($SpamComments) > 0){
foreach($SpamComments as $comm){
file_get_contents("https://api.vk.com/method/wall.deleteComment?owner_id=-{$GroupId}&access_token={$AccessToken}&comment_id={$comm}");
}
}
//Баним юзверей, которые посягнулись на нашу группу, пока в Beta режиме.
if(count($SpamUID) > 0){
$SpamUID = array_unique($SpamUID);
$enddate = time()+$Ban['time'];
$text = urlencode($Ban['comment']);
foreach($SpamUID as $UID){
file_get_contents("https://api.vk.com/method/groups.banUser?group_id={$GroupId}&access_token={$AccessToken}&user_id={$UID}&end_date={$enddate}&reason=1&comment={$text}&comment_visible=1");
}
}




    • 0
  • Наверх
  • Ответить

OFFLINE Отправлено

MadDoctor
группа пользователя

    UP темы 150р/месяц

  • Cообщений: 4 087
  • Поинты: 0
  • Предупреждений: 60
61

Прикольно)


    • 0
  • Наверх
  • Ответить

OFFLINE Отправлено

ZloyHaKeR
группа пользователя

    Все идет хорошо – но мимо!

  • Cообщений: 3 949
  • Друзей:50
  • Поинты: 8 949
  • Предупреждений: 0
  • Онлайн:49д 22ч 16м
65

Пардон за такие вопросы ,но всетаки:

Но где найти standalone приложение?

1) Получаем access_token для standalone приложения, которое имеет почти все возможности, кроме читать вашу переписку.

 

Может кинете ссылочку?

А лучше все подробненько распишите.

Зарнее спасибо .


Сообщение отредактировал ZloyHaKeR: 20 06 2015 - 12:25

    • 0
  • Наверх
  • Ответить

OFFLINE Отправлено

LIRA
группа пользователя

    СтатусНеБольше40символов!TIR ШТРАФАНЁТ!

  • Cообщений: 2 521
  • Друзей:128
  • Поинты: 503
  • Предупреждений: 21
  • Онлайн:35д 23ч 5м
147

Пардон за такие вопросы ,но всетаки:

Но где найти standalone приложение?

Может кинете ссылочку?

А лучше все подробненько распишите.

Зарнее спасибо .

#Ключ доступа http://xardch.ru/token.html


    • 0
  • Наверх
  • Ответить

OFFLINE Отправлено

ZloyHaKeR
группа пользователя

    Все идет хорошо – но мимо!

  • Cообщений: 3 949
  • Друзей:50
  • Поинты: 8 949
  • Предупреждений: 0
  • Онлайн:49д 22ч 16м
65

#Ключ доступа http://xardch.ru/token.html

где найти standalone приложение?


    • 0
  • Наверх
  • Ответить



Напишите свое сообщение