[MODDB] MOD Troll

A place for MOD Authors to post and receive feedback on MODs still in development. No MODs within this forum should be used within a live environment! No new topics are allowed in this forum.
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

IMPORTANT: MOD Development Forum rules

On February 1, 2009 this forum will be set to read only as part of retiring of phpBB2.
Locked
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

[MODDB] MOD Troll

Post by Merlin Sythove »

This MOD is a simple way to give a troll the impression the forum is buggy and not worth posting to. It does this by

1. Introducing delays
2. Randomly choosing error messages or giving the appearance of success
3. Crashing your browser, sending you to the index page etc.

It combines the Miserable User Mod, with extra features, and a cookie systtem.

1. Login (only works 25% of the time)
2. Posting (no post is ever saved, but 25% of the time it will APPEAR to work)
3. Private messaging (no PM is ever sent, again 25% of the time it will look like it has worked)
4. Email (no email is ever sent, same as PM and posting)

The cookie system makes sure that a troll who only visits without logging in, is still treated as a troll etc.

Please note: This is a beta, the setting of the "troll" flag in the user database must be done manually, no ACP interface is yet available. Make sure you use phpMyAdmin, open the user table, and set a test user to 'troll' in order to test the software.

Please note too: To prevent the troll from making a new account, all new registrations should go via the Administrator. Other measures may be necessary too.

(I'd like to point out the Miserable User hack (http://wrjacoby.allhyper.com/mods/miserableuserEN.zip) that bonelifer mentioned below. Brilliant, add waiting time and spurious error messages all over the place to make a troll's life miserable... :twisted: I've adapted it and incorporated it into this mod, all information is here:).

Code: Select all

################################################################################
## MOD Title: MOD Troll 
## MOD Author: Merlin Sythove < Merlin@silvercircle.org >  
##  Credit to the Miserable User Mod <phpbb2.de>
## MOD Description: This Troll mod will prevent trolls
##      from posting and PM and Emailing, and generally make
##      their life on the board miserable
## MOD Version: 0.9.1
## 
## Installation Level: (Easy) 
## Installation Time: 10 Minutes 
## Files To Edit: 
##      privmsg.php, 
##      login.php, 
##      includes/usercp_email.php, 
##      includes/functions_post.php
##      includes/sessions.php
##      language/lang_english/lang_main.php 
## Included Files: 
##      includes/miserable_user.php
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 
################################################################################
## For security purposes, please check: http://www.phpbb.com/mods/ 
## for the latest version of this MOD. Although MODs are checked 
## before being allowed in the MODs Database there is no guarantee 
## that there are no security problems within the MOD. No support 
## will be given for MODs not found within the MODs Database which 
## can be found at http://www.phpbb.com/mods/ 
################################################################################ 
## Author Notes: 
##
## MOD DESCRIPTION
## This is a combination of Miserable User Mod and extra features plus a 
## cookie system, basically to make life miserable for trolls.
## 
## What happens (adaptation of the Miserable User Mod):
##   In all cases everything is really slowed down. I've chosen between 5 and 30 
##   seconds but that is already infuriating. You can easily change that time.
## 
##   50% of the time the forum software "messes up", by crashing their browser, 
##   sending them mysteriously to the index page, giving a blank screen, "hanging" 
##   the computer or giving strange error messages. 
## 
##   The other 50% of the time they can do what they want (still delayed of course)
## 
## The Troll Mod adds extra trouble within the 50% of pages that do work:
##   Login: This only succeeds half the time, the other half of the time error 
##   messages are shown (i.e. only 1 in 4 logins succeed)
##   Posting, PM and Email: This gives error messages half the time, the other 
##   times it only appears to succeed but in fact nothing is posted or sent. 
##   (i.e. only 25% of the attempts seem to work)
## 
## Cookie system
##   A troll who logs in will get a cookie. 
##   If there is a cookie, that person is a troll, whether that person is logged 
##   in or not.
##   If the cookie no longer matches the database (i.e. the admin has re-set the 
##   troll flag) the cookie is removed.
## 
##   * A troll who is just browsing as guest, is still treated as a troll
##   * A troll who comes to your house and uses your computer to log in, will set 
##     the cookie, so the next time it will look like he messed up your computer
##   * A troll who has made a new account will still be seen as troll based on 
##     the cookie of the old account
##   * The ADMIN can un-set the troll flag to remove cookies when the ex-troll 
##     (or misfortunate friend) visits the board. They do not need to log in 
##     for the cookie to be removed, a visit is enough.
## 
## The only way to get round the system, is to remove cookies, and make a new account 
##   and behave (to prevent the ADMIN from setting the new account to troll).
## 
############################################################## 
## MOD History: 
## 
##   2005-11-06 - Version 0.9.2
##      - Further changes, addition of Miserable User Mod, cookies 
##   2005-11-05 - Version 0.9.0 
##      - BETA release 
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 


# 
#-----[ SQL ]------------------------------------------ 
# 
# -- Add a user field in the database

ALTER TABLE `phpBB_users` ADD `user_troll` TINYINT;



# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_post.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') 
	{
    

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
      //START MOD troll    
      if ($userdata['user_troll'])
      {              
        switch (rand (1,2)) //case 3 is done by miserable_user.php
        {
        case 1: //Give obfuscating message
          message_die(GENERAL_MESSAGE, $lang['Troll_error_posting_' . rand (1,3) ]);
          break;
        case 2: //Pretend it worked        	
          $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';
          //MOD Moderate_user	
          $message = $lang['Stored'];
          if ($post_moderated) $message .= '<br />' .  $lang['moderate_user_notify'];
          $message .= '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
        	message_die(GENERAL_MESSAGE, $message);
          break;
        case 3: //Abort further processing, computer "hangs" 
          exit;
          break;

        }
      }
      //END MOD troll    

# 
#-----[ OPEN ]------------------------------------------ 
# 
privmsg.php

# 
#-----[ FIND ]------------------------------------------ 
# 
			{
				message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
			}
		}



# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
    //START MOD troll    
    if ($userdata['user_troll'])
    {      
      switch (rand (1,2)) //case 3 is done by miserable_user.php
      {
      case 1: //Give obfuscating message
        message_die(GENERAL_MESSAGE, $lang['Troll_error_privmsg_' . rand (1,3) ]);
        break;
      case 2: //Pretend it worked
    		$template->assign_vars(array(
    			'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("privmsg.$phpEx?folder=inbox") . '">')
    		);    
    		$msg = $lang['Message_sent'] . '<br /><br />' . sprintf($lang['Click_return_inbox'], '<a href="' . append_sid("privmsg.$phpEx?folder=inbox") . '">', '</a> ') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');    
    		message_die(GENERAL_MESSAGE, $msg);
        break;
      case 3: //Abort further processing, computer "hangs" 
        exit;
        break;
      }
    }
    //END MOD troll    

# 
#-----[ OPEN ]------------------------------------------ 
# 
login.php

# 
#-----[ FIND ]------------------------------------------ 
# 
    $sql = "SELECT user_id, username, user_password, user_active, user_level, user_email_disabled
    
# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

 		//MOD Troll * Also get troll flag
    $sql = "SELECT user_id, username, user_password, user_active, user_level, user_email_disabled, user_troll


# 
#-----[ FIND ]------------------------------------------ 
# 

 				if( md5($password) == $row['user_password'] && $row['user_active'] )
				{

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
          //START MOD troll    
          if ($row['user_troll'])
          {      
            switch (rand (1,2)) //case 3 is done by miserable_user.php
            {
            case 1: //Give obfuscating message
              message_die(GENERAL_MESSAGE, $lang['Troll_error_login_' . rand (1,3) ]);
              break;
            case 2: //Allow login
              break;
            case 3: //Abort further processing, computer "hangs" 
              exit;
              break;
            }
          }
          //END MOD troll              

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/usercp_email.php

# 
#-----[ FIND ]------------------------------------------ 
# 
				$sql = "UPDATE " . USERS_TABLE . " 
					SET user_emailtime = " . time() . " 
					WHERE user_id = " . $userdata['user_id'];

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
        //START MOD troll    
        if ($userdata['user_troll'])
        {              
          switch (rand (1,2)) //case 3 is done by miserable_user.php
          {
          case 1: //Give obfuscating message
            message_die(GENERAL_MESSAGE, $lang['Troll_error_email_' . rand (1,3) ]);
            break;
          case 2: //Pretend it worked        	
  					$template->assign_vars(array(
  						'META' => '<meta http-equiv="refresh" content="5;url=' . append_sid("index.$phpEx") . '">')
  					);
   					$message = $lang['Email_sent'] . '<br /><br />' . sprintf($lang['Click_return_index'],  '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
   					message_die(GENERAL_MESSAGE, $message);
            break;
          case 3: //Abort further processing, computer "hangs" 
            exit;
            break;
          }
        }
        //END MOD troll    



# 
#-----[ OPEN ]------------------------------------------ 
# 
language/lang_english/lang_main.php

# 
#-----[ FIND ]------------------------------------------ 
# 
?>

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
//MOD Troll
$lang['Troll_error_login_1'] = 'You have used a wrong or inactive username or a wrong password.';
$lang['Troll_error_login_2'] = 'Sorry, there are too many members logged in. Please try again later.';
$lang['Troll_error_login_3'] = 'Your password was wrong. Check that the CAPS LOCK key is off. ';

$lang['Troll_error_posting_1'] = 'You cannot post a message so soon after your last message. Please try again laters.';
$lang['Troll_error_posting_2'] = 'Only a limited amount of posts can be made in a certain time. Please try again later.';
$lang['Troll_error_posting_3'] = 'Sorry, your message has been refused by the language filter. Please rewrite your message.';

$lang['Troll_error_privmsg_1'] = 'Sorry, the recipient is unknown. Please make sure you choose an existing forum member.';
$lang['Troll_error_privmsg_2'] = 'Sorry, the recipient\'s mailbox is full, please try again later.';
$lang['Troll_error_privmsg_3'] = 'Sorry, your message has been refused by the language filter. Please rewrite your message.';

$lang['Troll_error_email_1'] = 'Sorry, the recipient is unknown. Please make sure you choose an existing forum member.';
$lang['Troll_error_email_2'] = 'Sorry, the recipient\'s mailbox is full, please try again later.';
$lang['Troll_error_email_3'] = 'Sorry, your message has been refused by the language filter. Please rewrite your message.';

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/sessions.php

# 
#-----[ FIND ]------------------------------------------ 
# 

	// Initial ban check against user id, IP and email address
	//
	preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);

# 
#-----[ AFTER, ADD ]------------------------------------ 
# 
  
  //START MOD Troll
  //Get troll cookie settings.  
  $troll_cookie = '';
  $troll_id = isset($HTTP_COOKIE_VARS[$board_config['cookie_name'].'_tr_id']) ? $HTTP_COOKIE_VARS[$board_config['cookie_name'].'_tr_id'] : '';
  
  //Yes, troll cookie present. See if it matches the database. If not, delete cookie.
  if ($troll_id)
  {
   	//  Note: If another person uses the troll's computer, they are seen as troll too.
   	//  If a troll makes a new account, they are still listed as troll via this cookie
   	//  If the troll doesn't log in, they are still seen as troll
   	//  Once a troll has visited your house and used your computer and logged in,
   	//  you too are seen as a troll. USER SOLUTION: Remove the cookies from your computer.
   	//  If a troll removes cookies, everything will be fine until they log in again,
   	//  bingo, he will have a new cookie and be troll again.
   	//  UN-TROLL SOMEONE: Set the troll to user_troll = 0 in the database to remove user cookie.
   	//  The ex-troll does NOT have to log in to remove the troll cookie, visiting is enough.
   	//  So you could un-set the troll flag and wait until the troll or another user has
   	//  visited to remove possible troll cookies on their computer, and then set the troll flag again.

    $sql = "SELECT user_id
    	FROM " . USERS_TABLE . "
  		WHERE user_id = $troll_id";
  	if ( !($result = $db->sql_query($sql)) )
  	{
  		message_die(CRITICAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
  	}
  	if ( $troll_info = $db->sql_fetchrow($result) )	  
    {
      $troll_cookie =  ( $troll_info['user_id']);
  	}
    //There was a cookie but no match in the database:
    //delete the cookie by setting the expiry time 1 hour ago	
    if (! $troll_cookie) 
    {
      setcookie($board_config['cookie_name'].'_tr_id',$troll_id, time()-3600);      
  	}
  }	
  //Have $troll_cookie, if not empty, the user is a troll. 
  //If empty, then there was no cookie, or there was no LONGER a database match so the cookie was deleted

  //Check if user (if logged in) is troll. Fill in the troll_id if there is no id known yet.
  $troll_database = '';
	if ( $user_id != ANONYMOUS )
	{
    $troll_database = ( $userdata['user_troll'] );
    if (! $troll_id ) $troll_id = $user_id;      
  }
  
  //User is a troll in some way?
  if ($troll_cookie || $troll_database)
  {
    //Set the troll cookie, time it for 1 year. The time restarts every time the user comes here
    setcookie($board_config['cookie_name'].'_tr_id',$troll_id, time()+365*24*3600);
    //Set the user variable too (so a troll-as-guest is treated as a troll)
    $userdata['user_troll'] = true;
  }
  //END MOD Troll

# 
#-----[ CREDITS FOR THE NEXT BIT ]--------------------------------------- 
#
################################################################# 
## Mod Title: Miserable User
## Mod Version: 0.0.2
## Author: Dr. Doom / TERMINATRIX/translated in english by Moustacy
## Adjusted for addition to the Troll mod by Merlin Sythove <Merlin@silvercircle.org>
## Description: 
## With this hack you can make unpleasant users not want to use your forum 
## it's a very nice alternative to banning.
################################################################# 


# 
#-----[ COPY ]---------------------------------------------------------- 
# 

copy miserable_user.php to includes/miserable_user.php

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/page_header.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$template->pparse('overall_header');

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 
  if( $userdata['user_troll'] ) 
  { 
    include_once($phpbb_root_path . 'includes/miserable_user.' . $phpEx); 
  } 

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM

############################################################################
## This is the file content of miserable_user.php:
############################################################################

<?
/***************************************************************************
 *                            miserable_user.php
 *                            -------------------
 * Copyright: brauchen ma keins, wenn Ihr Verbesserungen habt, postet die auf phpbb2.de
 *
 * Adjusted for addition to the Troll mod by Merlin Sythove <Merlin@silvercircle.org>
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

sleep(rand(5,30)); //In all cases, wait!
  
// Odd seconds: problems!! (50% of the time)
if( time() % 2 ) 
{  
	$percent = rand(1,100); //percentages

	if( $percent <= '5' )
	{
    // First of all the evilest variant - browser fail ;-)
		echo "<html><form><input type crash></form></html>";
		exit;
	}
	else if ( $percent > '5' && $percent <= '20' )
	{
		//Extra waiting
    sleep(rand(1,60));
	}
	else if ( $percent > '20' && $percent <= '35' )
	{
    //Some error
    $template->pparse('overall_header');
		//message_die(GENERAL_ERROR, "The database is overloaded. Please try again later.", "", __LINE__, __FILE__, $sql);
		message_die(GENERAL_ERROR, "Too many connections. Please try again later.");
	}
	else if ( $percent > '35' && $percent <= '55' )
	{
    //Site not found
		header("Location: mode");
		exit;
	}
	else if ( $percent > '55' && $percent <= '60' )
	{
    //You have a new message
    $template->assign_vars(array(
			'PRIVATE_MESSAGE_NEW_FLAG' => '1')
		);
	}
	else if ( $percent > '60' && $percent <= '80' )
	{
    //Blank screen
		exit;
	}
	else if ( $percent > '80' && $percent <= '85' )
	{
    //Automatically log out
    session_end($userdata['session_id'], $userdata['user_id']);
	}
	else if ( $percent > '85' )
	{
  	//Mysteriously send them to the main index.php
  	header("Location: index.php");
	}
}
//The other 50% of the time they can do what they came for (after an initial wait)
//The rest of the MOD Troll will make sure that the cannot 
//post, PM or email or log in, half the time with an error message, half the time
//with apparent success (but nothing happens).

?>

##############################################################################

Note: Edited for version 0.9.2

EDIT:
Addition: ACP controls to set the user to troll in the user profile by Kalipo
Addition: Show the total number of trolls, and their names, in the ACP by Kalipo (directly below is a shorter version by me)
Last edited by Merlin Sythove on Thu Apr 06, 2006 6:52 am, edited 5 times in total.
User avatar
End of a Shadow
Registered User
Posts: 1557
Joined: Sun Apr 27, 2003 6:39 pm
Location: Washington
Name: J G
Contact:

Post by End of a Shadow »

Aww man thats hilarious :P I'd die if there was a message when going to their profile and it getting a message like "Lost your account" or going into the memberlist and find "Server too busy", or when viewing someones profile and getting "What kind of person do you think this user is?".

Good one nontheless 8)
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

Post by Merlin Sythove »

Feel free to add frivolous messages at your own discretion :lol:

However, the idea is to give the troll as long as possible the idea that the problem is genuine.
User avatar
battye
Extension Customisations
Extension Customisations
Posts: 10967
Joined: Wed Feb 11, 2004 11:02 am
Location: Australia
Contact:

Post by battye »

:lol: :lol: :lol:

Hilarious
Customisations Team Member

https://github.com/battye/php-array-parser - Give it a Star! :D
User avatar
bonelifer
Community Team Member
Community Team Member
Posts: 3515
Joined: Wed Oct 27, 2004 11:35 pm
Name: William
Contact:

Post by bonelifer »

You may want to look at my site. I found the Miserable User hack on www.phpbbhacks.com. It's a clone of the VB Miserable Users hack. http://wrjacoby.allhyper.com will give you a start on the admin panel for adding users to the troll list.
William Jacoby - Community Team
Knowledge Base | phpBB Board Rules | Search Customisation Database
Please don't contact me via PM or email for phpBB support .
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

Post by Merlin Sythove »

Thanks! I may not do the admin bit yet, but this looks like a good addition to convince trolls that your board is just too much hassle to use... :twisted:

I had a look at the admin file, it is not what I want, I want a simple check box with the user profile to set someone as troll or not. Even though that is more work to code... :D
User avatar
3Di
Former Team Member
Posts: 16174
Joined: Mon Apr 04, 2005 11:09 pm
Location: Milano 🇮🇹 Frankfurt 🇩🇪
Name: Marco
Contact:

Post by 3Di »

very very funny indeed.. :P

that admin bit can be done.. usefull! :wink:
🆓 Free support for our extensions also provided here: phpBB Studio
🚀 Looking for a specific feature or alternative option? We will rock you!
Please PM me only to request paid works. Thx. Want to compensate me for my interest? Donate
My development's activity º PhpStorm's proud user º Extensions, Scripts, MOD porting, Update/Upgrades
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

Post by Merlin Sythove »

Oh man, I just tried the combination of miserable user and my troll mod, you'd die, it will take you 5 minutes to log in and get past half a dozen error messages, and then trying to see your first topic will take you another handful of errors. It's a giggle!

Next step: I want to use my own "ban by cookie" mod so trolls will have it just as difficult if they DO NOT log in... :twisted: :twisted:
>agb<
Registered User
Posts: 50
Joined: Wed Aug 10, 2005 5:19 am

Post by >agb< »

...plus the User Gag MOD :D

PERFECT!!! :lol:
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

Post by Merlin Sythove »

Hmmm, that is far toooo obvious. You may as well ban them with a blank screen. The idea is that in spite of the mod the troll can still more or less use the forum, but will get so frustrated that he leaves.

I've updated my first post, because I've merged it with the Miserable User Hack, and I have also added cookie control so the troll will be treated as a troll, even when he does not log in at all :twisted:

There is only one way around this mod: remove cookies, and create a new account, and behave.... or else the admin will set you to troll and you're back to square one.
User avatar
battye
Extension Customisations
Extension Customisations
Posts: 10967
Joined: Wed Feb 11, 2004 11:02 am
Location: Australia
Contact:

Post by battye »

Merlin Sythove wrote: There is only one way around this mod: remove cookies, and create a new account, and behave.... or else the admin will set you to troll and you're back to square one.


I'm not sure whether you are glad there is one way around it or not (as it does give trolls a way to change their ways), but if you wanted to be really harsh, you could make it IP based :twisted:
Customisations Team Member

https://github.com/battye/php-array-parser - Give it a Star! :D
User avatar
bonelifer
Community Team Member
Community Team Member
Posts: 3515
Joined: Wed Oct 27, 2004 11:35 pm
Name: William
Contact:

Post by bonelifer »

You should change the name of miserable_user.php to something less obvious. At least one of the errors references it in the error message making it more obvious. The name should be a plain core file sounding name. Maybe something that sounds like it belongs to a addon mod so that they just think you mis-modded the file and thats where the error comes from.
William Jacoby - Community Team
Knowledge Base | phpBB Board Rules | Search Customisation Database
Please don't contact me via PM or email for phpBB support .
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

Post by Merlin Sythove »

bonelifer wrote: You should change the name of miserable_user.php to something less obvious. At least one of the errors references it in the error message making it more obvious. The name should be a plain core file sounding name. Maybe something that sounds like it belongs to a addon mod so that they just think you mis-modded the file and thats where the error comes from.


You mean this remmed error:
//message_die(GENERAL_ERROR, "The database is overloaded. Please try again later.", "", __LINE__, __FILE__, $sql);

Yes, I noticed that and took it out and replaced it. I don't think there are any other references where the actual file name could become visible to the user.
Merlin Sythove
Registered User
Posts: 2339
Joined: Tue Mar 16, 2004 7:42 am

Post by Merlin Sythove »

battye wrote: I'm not sure whether you are glad there is one way around it or not (as it does give trolls a way to change their ways), but if you wanted to be really harsh, you could make it IP based :twisted:


I'm wondering about that. The essence of a troll is that he is logged in under his own username and posts, and plays a game. He is visible. What you really would like to do is to keep him on the board under the existing user name, but so far under control that he simply won't like your board anymore and will leave.

If the troll had a fixed IP, and didn't know how to change it, yes, it might make sense to use that. But considering you know his username and he will try to keep using that, knowing an IP doesn't seem necessary to me.
User avatar
battye
Extension Customisations
Extension Customisations
Posts: 10967
Joined: Wed Feb 11, 2004 11:02 am
Location: Australia
Contact:

Post by battye »

Merlin Sythove wrote:
battye wrote:I'm not sure whether you are glad there is one way around it or not (as it does give trolls a way to change their ways), but if you wanted to be really harsh, you could make it IP based :twisted:


I'm wondering about that. The essence of a troll is that he is logged in under his own username and posts, and plays a game. He is visible. What you really would like to do is to keep him on the board under the existing user name, but so far under control that he simply won't like your board anymore and will leave.

If the troll had a fixed IP, and didn't know how to change it, yes, it might make sense to use that. But considering you know his username and he will try to keep using that, knowing an IP doesn't seem necessary to me.


Good point, the troll would want their presence to be known.
Customisations Team Member

https://github.com/battye/php-array-parser - Give it a Star! :D
Locked

Return to “[2.0.x] MODs in Development”