Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases

Reply
 
Thread Tools
An alternative to banning: Miserable Users Details »»
An alternative to banning: Miserable Users
Version: 1.00, by Zzed Zzed is offline
Developer Last Online: Feb 2012 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 03-07-2003 Last Update: Never Installs: 151
 
No support by the author.

This hack is an alternative to banning a user. As the name suggests a user who
gets hit with this hack will become truly miserable while trying to access
your board.

So here is what really happens to a miserable user:

- There is a random 60-120 second delay each time they click on a link.
- 90% of times they have no search engine acccess.
- 75% of the times they get the server too busy error.

If they don't get the server too busy error:
- 50% of the times they may get a blank page
- 30% of the times they may get forwarded to the forum main page
- 20% of the time they may be able to see the page they asked for.

after doing all the math in actuality they have only a 5% chance of seeing the
page they clicked on. What kills them is the time they have to wait before
anything happens.

I actually once tracked a miserable user and watched him suffer for 2 whole
hours before he was able to make a simple post.

This hack is considered one of the most sadistic hacks on my board.

The hack allows you to make your user miserable via the admin CP. It also
allows you to search for all miserable users through the admin CP as well.

Also in showthread.php, it appends a red status that is only visibly to admins
and mods stating that a user is miserable.


Tables affected by this hack: user

Files affected by this hack: global.php, showthread.php, admin/user.php

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #272  
Old 03-08-2004, 11:48 AM
subu1 subu1 is offline
 
Join Date: Sep 2002
Location: Germany
Posts: 189
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Kars10
Lol, cool hack!!
Install it later on...
thanks man!!
Hi Kars, bist Du bitte so lieb und kannst mir den Hack nochmal auf deutsch erkl?ren, wei?t doch ich und mein Oxfort eng. *g*
Reply With Quote
  #273  
Old 03-16-2004, 12:40 AM
chrisvonc's Avatar
chrisvonc chrisvonc is offline
 
Join Date: Apr 2002
Location: Austin, TX
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is sweet! Thank you!
I just installed it on my test forum. vB2.3.2 and worked like a charm. My test account I am trying this on right now, is being brutalized nicely. This is going to be great for trouble makers on my production forum!

*Clicked install*

Thank you again.
Reply With Quote
  #274  
Old 03-16-2004, 12:45 AM
chrisvonc's Avatar
chrisvonc chrisvonc is offline
 
Join Date: Apr 2002
Location: Austin, TX
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by drumsy
How can I dial this down a bit?
I kind of would like to know if this is possible as well. Just so they dont catch on too fast.

Thanks again,

Chris
Reply With Quote
  #275  
Old 03-17-2004, 02:55 PM
TechGuy TechGuy is offline
 
Join Date: Nov 2001
Location: Waynesboro, PA USA
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is too great... I changed some of the numbers a little so that it's not so obvious that we're messing with the guy, and I set it up so that it effects his whole IP range, rather than just his username(s)...

To do that, I just copied the global part of the hack (between the if statements) into the checkipban() function in the functions.php file... quote out the eval for the normal error_ipban and we're all set. It's great, man. I laughed for hours.

To keep from making it too obvious, I changed the if glitch numbers down a bit. For example:

Code:
 $glitch = rand(0,100);
  if($glitch < 50) {
    eval("standarderror(\"".gettemplate('error_toobusy')."\");");
    exit;
  }
Will give the error 50% of the time. As opposed to:

Code:
 $glitch = rand(0,100);
  if($glitch < 80) {
    eval("standarderror(\"".gettemplate('error_toobusy')."\");");
    exit;
  }
Which would do it 80% of the time.
Reply With Quote
  #276  
Old 03-29-2004, 02:30 AM
EMiNENCE EMiNENCE is offline
 
Join Date: May 2003
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by y2krazy
That is the what I meant by "Edit User" page...

Edit User - y2krazy (userid: 1) <- the heading of the main table to edit the user. That is the location I was looking for this "checkbox", and it's still nowhere to be found...

I am guessing that it has something to do with the admin/user.php edits, maybe?

-y2k-
That's my problem too. I checked all hacked files twice, step by step, and everything seems to be ok. But there's still no radiobutton in the user's EDIT profile. No checkbox underneath 'Number of posts', so... I'm not able to set up anyone to be Miserable. Any ideas where's the bug hidden?
Reply With Quote
  #277  
Old 03-29-2004, 05:01 AM
EMiNENCE EMiNENCE is offline
 
Join Date: May 2003
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have finally found the bug!

Just look for inputcode("Number of Posts","posts",$user[posts]); twice in the source code of admin\user.php. There are two simillar sections that match to the description. The first is determined for the ADD USER section in CP, the 2nd is the right for EDIT User.

Just such a small mistake but every install faq should be better commented for this possibility next time.
;]

Thanx for this hack anyway! It really rocks!!
Reply With Quote
  #278  
Old 03-29-2004, 11:04 AM
chrisvonc's Avatar
chrisvonc chrisvonc is offline
 
Join Date: Apr 2002
Location: Austin, TX
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

??
Maybe I dont get what you guys are saying but to me it looks like you guys were using too short of a search value. Its not a bug or mistake on the authors part if one doesnt fully read the directions or search for the full code they were told to be looking for.

When I searched my admin/user.php, I only found 1 section with block of code he tells you to look for that includes the line "makeinputcode("Number of Posts","posts",$user[posts]);" in it, and then I put the code under that, like the directions said to.

Now if you were doing your searches for just "$user[posts]", then you would have run into problems that you are describing as there are multiple entrys in the page of "$user[posts]", but again, thats not what the directions were telling you to look for.

Again, maybe I am on the wrong track here and dont understand what you were referancing and if I am, I apologize, but as to the directions, if an idiot like me can install it and have it going on the first try, the directions are pretty much right on.


Quote:
Originally Posted by EMiNENCE
I have finally found the bug!

Just look for inputcode("Number of Posts","posts",$user[posts]); twice in the source code of admin\user.php. There are two simillar sections that match to the description. The first is determined for the ADD USER section in CP, the 2nd is the right for EDIT User.

Just such a small mistake but every install faq should be better commented for this possibility next time.
;]

Thanx for this hack anyway! It really rocks!!
Reply With Quote
  #279  
Old 03-29-2004, 05:50 PM
EMiNENCE EMiNENCE is offline
 
Join Date: May 2003
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by chrisvonc
??
When I searched my admin/user.php, I only found 1 section with block of code he tells you to look for that includes the line "makeinputcode("Number of Posts","posts",$user[posts]);" in it, and then I put the code under that, like the directions said to.

Now if you were doing your searches for just "$user[posts]", then you would have run into problems that you are describing as there are multiple entrys in the page of "$user[posts]", but again, thats not what the directions were telling you to look for.
It's possible you really have just only one section like that, but some people [inlcuding me] have two...;]

Look at the sample fragment of my admin/user.php [vB 2.2.7]:

PHP Code:
// ###################### Start add #######################
if ($action=="add") {

  echo 
"Add New User";

  
doformheader("user","insert");
  
maketableheader("User Profile");
      
makechoosercode("User Group","usergroupid","usergroup",2);
      
makeinputcode("User Name","ausername");
      
makeinputcode("Password","apassword");
      
makeinputcode("Email Address","email");
      
makeinputcode("User Title","usertitle");
      
makeyesnocode("Use Custom Title<br><font size='1'>(This forces the title that you put in the field above to be used)</font>","customtitle",0);
      
makestylecode("Style set","userstyleid",$user[styleid]);
      
makeinputcode("Home Page","homepage","http://www.");
      
makeinputcode("Birthday<br>(Format yyyy-mm-dd)","birthday");
      
maketextareacode("Signature","signature","",8,45);
      
makeinputcode("ICQ Number","icq");
      
makeinputcode("AIM Handle","aim");
      
makeinputcode("Yahoo Messenger Handle","yahoo");
      
makeyesnocode("COPPA user","coppauser",0);
      
makeinputcode("Parent Email Address","parentemail");
  
maketableheader("Options");
      
makeyesnocode("Receive mailings from admins","adminemail",1);
      
makeyesnocode("Show email address","showemail",1);
      
makeyesnocode("Invisible on 'Online users' list","invisible",0);
      
makeyesnocode("Receive PMs","receivepm",1);
      
makeyesnocode("Email on PM","emailonpm",0);
      
makeyesnocode("PM Popup","pmpopup",0);
      
makeyesnocode("Show Signatures","showsignatures",1);
      
makeyesnocode("Show Avatars","showavatars",1);
      
makeyesnocode("Show Images","showimages",1);
      
makeyesnocode("Show VBcode","showvbcode",1);
      
makeyesnocode("Use email notification by default","emailnotification",1);
      
makeyesnocode("Remember Username and password","cookieuser",1);
      
makeyesnocode("Browse boards with cookies","nosessionhash",1);
      
makeinputcode("Join Date<br>(Format yyyy-mm-dd, leave blank for today)","joindate");
      
makeinputcode("Default view age<br>'Select threads from last x days'<br>Recommended values: 1, 2, 5, 10, 20, 30, 45, 60, 75, 100, 365, 1000 (ie all). -1 gives default forum selection","daysprune","-1");
      
makeinputcode("Last Visit<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastvisit");
      
makeinputcode("Last Activity<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastactivity");
      
makeinputcode("Last Post<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastpost");
      
makeinputcode("Number of Posts","posts","0");
      
makeyesnocode("Miserable user","miserable",$user[miserable]);
      
makeinputcode("Time Zone Offset (hours)","timezoneoffset","0");
      
makeinputcode("IP Address","aipaddress",$ipaddress);
  
maketableheader("Custom Profile Fields");
  
$profilefields=$DB_site->query("SELECT profilefieldid,title FROM profilefield");
  while (
$profilefield=$DB_site->fetch_array($profilefields)) {
    
makeinputcode($profilefield[title],"field".$profilefield[profilefieldid]);
  }

  
doformfooter("Save");


...and 82 lines below:


PHP Code:
  doformheader("user","doupdate");
  
makehiddencode("userid","$userid");

  
maketableheader("Useful Links");
  
makedescription("<table width='90%' border='0' align='center'><tr valign='top'><td>
  <li>"
.makelinkcode("Send email to $user[username]","mailto:$user[email]")."</li>
  <li>"
.makelinkcode("Send a private message to $user[username]","../private.php?s=$session[sessionhash]&action=newmessage&userid=$user[userid]",1)."</li>
  <li>"
.makelinkcode("Find posts by $user[username]","../search.php?s=$session[sessionhash]&action=finduser&userid=$user[userid]",1)."</li>
  <li>"
.makelinkcode("View the profile for $user[username]","../member.php?s=$session[sessionhash]&action=getinfo&userid=$userid",1)."</li>
  </td><td>
  <li>"
.makelinkcode("Edit forum access for $user[username]","user.php?s=$session[sessionhash]&action=editaccess&userid=$user[userid]")."</li>
  <li>"
.makelinkcode("View IPs for $user[username]","user.php?s=$session[sessionhash]&action=doips&username=".urlencode($user[username]))."</li>
  <li>"
.makelinkcode("Email this user their password","user.php?s=$session[sessionhash]&action=emailpassword&email=$user[email]")."</li>
  <li>"
.makelinkcode("Remove User","user.php?s=$session[sessionhash]&action=remove&userid=$user[userid]")."</li>
  </td></tr></table>"
);
  
restarttable();

  
maketableheader("Edit User - $user[username] (userid: $user[userid])");
      
makechoosercode("User Group","usergroupid","usergroup",$user[usergroupid]);
      
makeinputcode("User Name","ausername",$user[username],0);
      
makeinputcode("Password<br>Leave blank unless you want to change it","apassword");
      
makeinputcode("Email Address","email",$user[email],0);
      
makeinputcode("User Title","usertitle",$user[usertitle]);
      
makeyesnocode("Use Custom Title<br><font size='1'>(This forces the title that you put in the field above to be used)</font>","customtitle",$user[customtitle]);
      
makestylecode("Style set","userstyleid",$user[styleid]);
      
makeinputcode("Home Page","homepage",$user[homepage],0);
      
makeinputcode("Birthday<br>(Format yyyy-mm-dd)","birthday",$user[birthday],0);
      
maketextareacode("Signature","signature",$user[signature],8,45);
      
makeinputcode("ICQ Number","icq",$user[icq],0);
      
makeinputcode("AIM Handle","aim",$user[aim],0);
      
makeinputcode("Yahoo Messenger Handle","yahoo",$user[yahoo],0);
      
makeyesnocode("COPPA user","coppauser",$user[coppauser]);
      
makeinputcode("Parent Email Address","parentemail",$user[parentemail],0);
      
makeinputcode("Number of Posts","posts",$user[posts]);
      
makeyesnocode("Miserable user","miserable",$user[miserable]);
  
maketableheader("Options");
      
makeyesnocode("Receive mailings from admins","adminemail",$user[adminemail]);
      
makeyesnocode("Show email","showemail",$user[showemail]);
      
makeyesnocode("Invisible on 'Online users' list","invisible",$user[invisible]);
      
makeyesnocode("Receive PMs","receivepm",$user[receivepm]);
      
makeyesnocode("Email on PM","emailonpm",$user[emailonpm]);
      
makeyesnocode("PM Popup","pmpopup",$user[pmpopup]);
      
makeyesnocode("Show Signatures","showsignatures",$user[showsignatures]);
      
makeyesnocode("Show Avatars","showavatars",$user[showavatars]);
      
makeyesnocode("Show Images","showimages",$user[showimages]);
      
makeyesnocode("Show VBcode","showvbcode",$user[showvbcode]);
      
makeyesnocode("Use email notification by default","emailnotification",$user[emailnotification]);
      
makeyesnocode("Remember Username and password","cookieuser",$user[cookieuser]);
      
makeyesnocode("Browse boards with cookies","nosessionhash",$user[nosessionhash]);
      
makeinputcode("Join Date<br>(Format yyyy-mm-dd, leave blank for today)","joindate",$user[joindate]);
      
makeinputcode("Default view age<br>'Select threads from last x days'<br>Recommended values: 1, 2, 5, 10, 20, 30, 45, 60, 75, 100, 365, 1000 (ie all). -1 gives default forum selection","daysprune",$user[daysprune]);
      
makeinputcode("Last Visit<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastvisit",$user[lastvisit]);
      
makeinputcode("Last Activity<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastactivity",$user[lastactivity]);
      
makeinputcode("Last Post<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastpost",$user[lastpost]);
      
makeinputcode("Time Zone Offset (hours)","timezoneoffset",$user[timezoneoffset]);
      
makeinputcode("IP Address","aipaddress",$user[ipaddress]);
  
maketableheader("User Avatar");
      if (
$user[avatarid]!=0) {
         
$avatarurl"../" $user[avatarpath];
      } else {
        if (
$user[hascustomavatar]) {
          
$avatarurl="../avatar.php?s=$session[sessionhash]&userid=$user[userid]";
        } else {
          
$avatarurl="";
        }
      }
      echo 
"<tr class='".getrowbg()."'><td>Avatar</td><td nowrap>";
      if (
$avatarurl!="") {
        echo 
"<img src=\"$avatarurl\">&nbsp;&nbsp;&nbsp;";
      }
      echo 
"<input type=\"submit\" name=\"modifyavatar\" value=\"Change Avatar\">";
      echo 
"<input type=\"hidden\" name=\"userid\" value=\"$user[userid]\">";
      echo 
"</td></tr>";

  
maketableheader("Custom Profile Fields");
  
$userfield=$DB_site->query_first("SELECT * FROM userfield WHERE userid=$userid");

  
$profilefields=$DB_site->query("SELECT profilefieldid,title FROM profilefield");
  while (
$profilefield=$DB_site->fetch_array($profilefields)) {
    
$varname="field$profilefield[profilefieldid]";
    
makeinputcode($profilefield[title],"field".$profilefield[profilefieldid],$userfield[$varname]);
  }

  
doformfooter("Save Changes");



So, as you can see, there are really two sections in admin/user.php.... ;] But you're right. I searched for a shorter string cos my admin/user.php is hacked thoroughly and many strings don't match today at all, so I have to look for parts of them instead of using those exact samples from install faq.
Reply With Quote
  #280  
Old 03-29-2004, 06:13 PM
chrisvonc's Avatar
chrisvonc chrisvonc is offline
 
Join Date: Apr 2002
Location: Austin, TX
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Doh! I do apologize. I installed this on my v2.3.2 and it only has the one.
Reply With Quote
  #281  
Old 06-21-2004, 12:32 AM
[email protected] vbmenu_register("postmenu_524759", true);
Guest
 
Posts: n/a
Default

Anyone know if this works on 2.3.5?
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:59 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04901 seconds
  • Memory Usage 2,428KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (2)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete