Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -u stopforumspam/defaults.php /tmp/stopforumspam/defaults.php
- --- stopforumspam/defaults.php 2011-12-19 11:54:16.000000000 -0800
- +++ /tmp/stopforumspam/defaults.php 2011-11-28 09:35:41.000000000 -0800
- @@ -9,13 +9,11 @@
- // The default settings for the Stopforumspam module.
- $mod_stopforumspam_defaults = array(
- 'block_action' => 'unapprove',
- - 'check_ip' => 1,
- + 'check_ip' => 0,
- 'check_username' => 0,
- 'check_email' => 1,
- 'log_events' => 1,
- 'apikey' => '0000',
- - 'force_generic' => 0,
- - 'freq_min' => 1,
- );
- foreach ($mod_stopforumspam_defaults as $key => $val)
- diff -u stopforumspam/info.txt /tmp/stopforumspam/info.txt
- --- stopforumspam/info.txt 2011-12-15 20:04:58.000000000 -0800
- +++ /tmp/stopforumspam/info.txt 2011-11-28 09:35:41.000000000 -0800
- @@ -1,8 +1,8 @@
- -title: Stop Forum Spam
- -desc: This module uses stopforumspam.com to check newly registered users against their database of known spammers
- -version: 0.2
- -author: Thomas Seifert / Mysnip-Solutions
- -url: http://www.mysnip-solutions.de/phorummodules/
- -
- -hook: lang|
- +title: Stop Forum Spam
- +desc: This module uses stopforumspam.com to check newly registered users against their database of known spammers
- +version: 0.1
- +author: Thomas Seifert / Mysnip-Solutions
- +url: http://www.mysnip-solutions.de/phorummodules/
- +
- +hook: lang|
- hook: before_register|phorum_mod_stopforumspam_before_register
- \ No newline at end of file
- Common subdirectories: stopforumspam/lang and /tmp/stopforumspam/lang
- diff -u stopforumspam/settings.php /tmp/stopforumspam/settings.php
- --- stopforumspam/settings.php 2011-12-19 20:18:19.000000000 -0800
- +++ /tmp/stopforumspam/settings.php 2011-11-28 09:35:41.000000000 -0800
- @@ -17,14 +17,10 @@
- 'check_ip' => (!empty($_POST['check_ip']))?1:0,
- 'check_username' => (!empty($_POST['check_username']))?1:0,
- 'check_email' => (!empty($_POST['check_email']))?1:0,
- - 'force_generic' => (!empty($_POST['force_generic']))?1:0,
- - 'freq_min' => (!empty($_POST['freq_min'])) ? (int)($_POST['freq_min']) : 1,
- 'apikey' => $_POST['apikey'],
- );
- - if($PHORUM["mod_stopforumspam"]["freq_min"] < 1)
- - $PHORUM["mod_stopforumspam"]["freq_min"] = 1;
- phorum_db_update_settings(array(
- "mod_stopforumspam" => $PHORUM["mod_stopforumspam"]
- @@ -49,29 +45,9 @@
- $frm->hidden("mod", "stopforumspam");
- // ----------------------------------------------------------------------
- -// Configure general settings
- -// ----------------------------------------------------------------------
- -
- -$frm->addrow(
- - 'API Key<small> (Get it from <a href="http://www.stopforumspam.com/signup">http://www.stopforumspam.com/signup</a>)</small>',
- - $frm->text_box('apikey',$PHORUM["mod_stopforumspam"]['apikey'])
- -);
- -$row = $frm->addrow("Minimum Frequency Score:", $frm->text_box("freq_min", $PHORUM["mod_stopforumspam"]["freq_min"]));
- -$frm->addhelp(
- - $row, "Spam score threshold",
- - "If the total number of times the checked fields appear in the
- - stopforumspam database exceeds this number, the registration
- - will be considered spammy. Adjust according to your checks
- - and watch the event log for fale positives.<br/>
- - <br/>
- - Set to 1 for maximum protection."
- -);
- -
- -
- -// ----------------------------------------------------------------------
- // Configure log settings
- // ----------------------------------------------------------------------
- -
- +$frm->addrow('API Key<small> (Get it from <a href="http://www.stopforumspam.com/signup">http://www.stopforumspam.com/signup</a>)</small>',$frm->text_box('apikey',$PHORUM["mod_stopforumspam"]['apikey']));
- $frm->addbreak("Log settings");
- if (!file_exists('./mods/event_logging')) {
- @@ -142,12 +118,7 @@
- <br/>
- A message is suspicious if it one of the selected checks fails."
- );
- -$row = $frm->addrow('Return Generic Error',$frm->checkbox('force_generic',1,'Yes',$PHORUM['mod_stopforumspam']['force_generic']));
- -$frm->addhelp(
- - $row, "Message type shown to blocked user",
- - "Enabling this option will return a generic error message to the suspected spammer
- - that does not contain any hints as to the source or reason for the block."
- -);
- +
- // ----------------------------------------------------------------------
- // Configure spam hurdles for user registration
- @@ -159,6 +130,3 @@
- $frm->addrow('Check Email address',$frm->checkbox('check_email',1,'Yes',$PHORUM['mod_stopforumspam']['check_email']));
- $frm->show();
- -
- -#print "<pre>"; print_r($PHORUM['mod_stopforumspam']); print "</pre>";
- -
- diff -u stopforumspam/stopforumspam.php /tmp/stopforumspam/stopforumspam.php
- --- stopforumspam/stopforumspam.php 2011-12-19 18:30:32.000000000 -0800
- +++ /tmp/stopforumspam/stopforumspam.php 2011-11-28 09:35:41.000000000 -0800
- @@ -13,8 +13,8 @@
- if(!empty($PHORUM['mod_stopforumspam']['check_username'])) {
- $args[]="username=".$userdata['username'];
- }
- - if(!empty($PHORUM['mod_stopforumspam']['check_email'])) {
- - $args[]="email=".$userdata['email'];
- + if(!empty($PHORUM['mod_stopforumspam']['check_username'])) {
- + $args[]="username=".$userdata['username'];
- }
- if(count($args)) {
- include_once("./include/api/http_get.php");
- @@ -22,11 +22,9 @@
- // request serialized data
- $args[]="f=serial";
- $url = $baseurl.implode("&",$args);
- - #_phorum_mod_stopforumspam_log("SFS query is $url", "", EVENTLOG_LVL_DEBUG);
- $res = phorum_api_http_get($url);
- if($res !== null) {
- $resdata = unserialize($res);
- - $score = 0;
- foreach($resdata as $key => $var) {
- if($key == 'success') {
- if(empty($var)) {
- @@ -34,41 +32,29 @@
- _phorum_mod_stopforumspam_log('Check againt sfs api failed','The check against the stopforumspam.com API failed. We got no success message.\nData was:\n'.print_r($resdata,true));
- break;
- }
- - } elseif(!empty($var['appears'])) {
- - $last_key = $key;
- - }
- - if(!empty($var['frequency'])) {
- - $score += $var['frequency'];
- - }
- - }
- - #_phorum_mod_stopforumspam_log("score $score >= {$PHORUM["mod_stopforumspam"]["freq_min"]} ?", "", EVENTLOG_LVL_DEBUG);
- - if(empty($PHORUM["mod_stopforumspam"]["freq_min"]) || $PHORUM["mod_stopforumspam"]["freq_min"] < 1)
- - $PHORUM["mod_stopforumspam"]["freq_min"] = 1; # hard min
- - if($score >= $PHORUM["mod_stopforumspam"]["freq_min"]) {
- - if($PHORUM['mod_stopforumspam']['block_action'] == 'blockerror') {
- - // block user
- - if($PHORUM['mod_stopforumspam']['force_generic'] || !$last_key)
- - $error[]=$PHORUM['DATA']['LANG']['mod_stopforumspam']['error_generic'];
- - else
- - $error[]=$PHORUM['DATA']['LANG']['mod_stopforumspam']['error_'.$last_key];
- } else {
- - if($userdata["active"] == PHORUM_USER_ACTIVE) {
- - $userdata['active'] = PHORUM_USER_PENDING_MOD;
- - } elseif($userdata["active"] == PHORUM_USER_PENDING_EMAIL) {
- - $userdata['active'] = PHORUM_USER_PENDING_BOTH;
- + if(!empty($var['appears']) && $PHORUM['mod_stopforumspam']['block_action'] == 'blockerror') {
- + // block user
- + $error[]=$PHORUM['DATA']['LANG']['mod_stopforumspam']['error_'.$key];
- + } elseif(!empty($var['appears'])) {
- + if($userdata["active"] == PHORUM_USER_ACTIVE) {
- + $userdata['active'] = PHORUM_USER_PENDING_MOD;
- + } elseif($userdata["active"] == PHORUM_USER_PENDING_EMAIL) {
- + $userdata['active'] = PHORUM_USER_PENDING_BOTH;
- + }
- }
- }
- }
- if(count($error)) {
- if($PHORUM['mod_stopforumspam']['block_action'] == 'blockerror') {
- - _phorum_mod_stopforumspam_log("User {$userdata['username']} registration blocked! (score $score)","A user registration based on data from stopforumspam.com was blocked!\nUserdata was:\nUsername: {$userdata['username']}\nIP: {$_SERVER['REMOTE_ADDR']}\nEmail: {$userdata['email']}\n\nAnd data returned from Stopforumspam was:\n".print_r($resdata,true));
- + _phorum_mod_stopforumspam_log('User registration blocked!',"A user registration based on data from stopforumspam.com was blocked!\nUserdata was:\nUsername: {$userdata['username']}\nIP: {$_SERVER['REMOTE_ADDR']}\nEmail: {$userdata['email']}\n\nAnd data returned from Stopforumspam was:\n".print_r($resdata,true));
- } else {
- - _phorum_mod_stopforumspam_log("User registration made unapproved! (score $score)","A user registration based on data from stopforumspam.com was made unapproved!\nUserdata was:\nUsername: {$userdata['username']}\nIP: {$_SERVER['REMOTE_ADDR']}\nEmail: {$userdata['email']}\n\nAnd data returned from Stopforumspam was:\n".print_r($resdata,true));
- + _phorum_mod_stopforumspam_log('User registration made unapproved!',"A user registration based on data from stopforumspam.com was made unapproved!\nUserdata was:\nUsername: {$userdata['username']}\nIP: {$_SERVER['REMOTE_ADDR']}\nEmail: {$userdata['email']}\n\nAnd data returned from Stopforumspam was:\n".print_r($resdata,true));
- }
- $userdata['error']=implode("<br />",$error);
- $error = array();
- } else {
- - _phorum_mod_stopforumspam_log("User registration was safe (score $score)","A user registration was safe based on data from stopforumspam.com.\nUserdata was:\nUsername: {$userdata['username']}\nIP: {$_SERVER['REMOTE_ADDR']}\nEmail: {$userdata['email']}\n\nAnd data returned from Stopforumspam was:\n".print_r($resdata,true));
- + _phorum_mod_stopforumspam_log('User registration was safe',"A user registration was safe based on data from stopforumspam.com.\nUserdata was:\nUsername: {$userdata['username']}\nIP: {$_SERVER['REMOTE_ADDR']}\nEmail: {$userdata['email']}\n\nAnd data returned from Stopforumspam was:\n".print_r($resdata,true));
- }
- } else {
- @@ -79,14 +65,14 @@
- }
- return $userdata;
- }
- -function _phorum_mod_stopforumspam_log($shortmsg,$message,$level=EVENTLOG_LVL_INFO) {
- +function _phorum_mod_stopforumspam_log($shortmsg,$message) {
- global $PHORUM;
- if (!empty($PHORUM["mod_stopforumspam"]["log_events"]) &&
- function_exists('event_logging_writelog')) {
- event_logging_writelog(array(
- 'message' => $shortmsg,
- 'details' => $message,
- - 'loglevel' => $level
- + 'loglevel' => EVENTLOG_LVL_INFO
- ));
- }
- }
- \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement