Cheetah
ChWsbStopForumSpam.php
Go to the documentation of this file.
1 <?php
2 
12 {
13  var $_aKeys = array ('ip' => 1, 'email' => 1, 'username' => 1);
14 
21  public function isSpammer ($aValues, $sDesc)
22  {
23  if (!getParam('sys_stopforumspam_enable'))
24  return false;
25 
26  if (!$aValues || !is_array($aValues))
27  return false;
28 
29  $aRequestParams = array ('f' => 'json');
30  foreach ($this->_aKeys as $k => $b)
31  if (isset($aValues[$k]))
32  $aRequestParams[$k] = rawurlencode($aValues[$k]);
33 
34  $s = ch_file_get_contents('http://www.stopforumspam.com/api', $aRequestParams);
35  if (!$s)
36  return false;
37 
38  $aResult = json_decode($s, true);
39  if (null === $aResult || !$aResult['success'])
40  return false;
41 
42  foreach ($this->_aKeys as $k => $b) {
43  if (isset($aResult[$k]) && $aResult[$k]['appears']) {
45  return true;
46  }
47  }
48 
49  return false;
50  }
51 
57  public function submitSpammer ($aValues, $sEvidences = false)
58  {
59  if (!getParam('sys_stopforumspam_enable'))
60  return false;
61 
62  $sKey = getParam('sys_stopforumspam_api_key');
63  if (!$sKey)
64  return false;
65 
66  $sData = 'api_key=' . $sKey . '&evidence=' . ($sEvidences ? rawurlencode($sEvidences) : 'spammer');
67  foreach ($this->_aKeys as $k => $b)
68  if (isset($aValues[$k]))
69  $sData .= '&' . ('ip' == $k ? 'ip_addr' : $k) . '=' . rawurlencode($aValues[$k]);
70 
71  $fp = fsockopen("www.stopforumspam.com", 80);
72  fputs($fp, "POST /add.php HTTP/1.1\n" );
73  fputs($fp, "Host: www.stopforumspam.com\n" );
74  fputs($fp, "Content-type: application/x-www-form-urlencoded\n" );
75  fputs($fp, "Content-length: " . strlen($sData) . "\n" );
76  fputs($fp, "Connection: close\n\n" );
77  fputs($fp, $sData);
78  fclose($fp);
79 
80  return true;
81  }
82 
83  public function onPositiveDetection ($sExtraData = '')
84  {
85  $o = ch_instance('ChWsbDNSBlacklists');
86  $o->onPositiveDetection (getVisitorIP(false), $sExtraData, 'stopforumspam');
87  }
88 }
ChWsbStopForumSpam\onPositiveDetection
onPositiveDetection($sExtraData='')
Definition: ChWsbStopForumSpam.php:83
getVisitorIP
getVisitorIP($isProxyCheck=true)
Definition: utils.inc.php:643
$aResult
$aResult
Definition: index.php:19
php
ChWsbStopForumSpam
Definition: ChWsbStopForumSpam.php:12
ChWsbStopForumSpam\$_aKeys
$_aKeys
Definition: ChWsbStopForumSpam.php:13
ChWsbStopForumSpam\isSpammer
isSpammer($aValues, $sDesc)
Definition: ChWsbStopForumSpam.php:21
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
ch_file_get_contents
ch_file_get_contents($sFileUrl, $aParams=array(), $sMethod='get', $aHeaders=array(), &$sHttpCode=null)
Definition: utils.inc.php:1357
ch_instance
ch_instance($sClassName, $aParams=array(), $aModule=array())
Definition: utils.inc.php:1264
ChWsbStopForumSpam\submitSpammer
submitSpammer($aValues, $sEvidences=false)
Definition: ChWsbStopForumSpam.php:57
$s
$s
Definition: embed.php:13
$o
$o
Definition: cmd.php:193
$sDesc
$sDesc
Definition: actions.inc.php:21
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10