Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)

Reply
 
Thread Tools Display Modes
  #1  
Old 07-01-2002, 04:02 AM
Paul Paul is offline
 
Join Date: Jan 2002
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Guests may post XX times before needing to register

Hi guys,

We've been having a problem on our forum with guests flooding the forum with abusive messages. Unfortunately, we are not able to restrict posting to members due to the nature of the forum. What we would like to do is have the ability to restrict users from being able to post any further without registering after X number of posts. For example, if set to 5, then a guest could post 5 messages. After that, when they returned to the site and attempted to post again, it would show them the registration page and require them to register before being able to post more messages (making banning and deleting a lot easier

Any ideas on how to do this?
Thanks!
Paul

Edit: The following thread looks like a start on how to approach it: https://vborg.vbsupport.ru/showthrea...threadid=40107
Reply With Quote
  #2  
Old 07-01-2002, 05:35 AM
hypedave's Avatar
hypedave hypedave is offline
 
Join Date: Nov 2001
Location: Dallas, Tx
Posts: 320
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I need something like this as well
Reply With Quote
  #3  
Old 07-01-2002, 03:51 PM
Paul Paul is offline
 
Join Date: Jan 2002
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The problem with the thread I referenced above is that it uses the number of posts a user makes on the forum as a check for permission to post. I don't think that vbulletin keeps track of the number of posts any one guest might make.

Is this information in the cookie it sends out? What would be a good way to keep track of this? I assume somehow through the session, if cookies weren't enabled on the browser.
Reply With Quote
  #4  
Old 07-01-2002, 05:48 PM
Paul Paul is offline
 
Join Date: Jan 2002
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, silly me. I didn't remember that there is a session database. Would adding a field such as 'numofposts' be a good way of doing this that would work for both cookied and non-cookied users? Then just increment that value and do a check to see if userid=0 and numofposts=y where y is the predefined number of posts allowed before registration is required whenever someone tries to reply or post a new thread?

This seems like it would work. Are there any security issues I should be considering here?

Paul
Reply With Quote
  #5  
Old 07-02-2002, 04:33 AM
Paul Paul is offline
 
Join Date: Jan 2002
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For those interested, I will try creating this hack, however my experience with hacking vbulletin is very small. If anyone else could help out, I'd appreciate it. I've created a field in the session table called numofposts (int-10, unsigned, default=0) and plan on incrementing that number each time a new topic or reply is made. I also want to figure out how to store this number in the cookie and grab it for those who have cookies enabled when they return. Therefore:

1. A user who has no cookies enabled will be limited to xx posts/session before being required to register
2. A user who allows cookies will be limited to xx posts total before being required to register.
Reply With Quote
  #6  
Old 07-04-2002, 02:55 PM
Paul Paul is offline
 
Join Date: Jan 2002
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I hate to keep replying to my own thread, but I've reached a point where I'm not really sure how to go about doing this hack. Anyone out there that could help me with this?

Paul
Reply With Quote
  #7  
Old 07-04-2002, 08:20 PM
g-force2k2 g-force2k2 is offline
 
Join Date: Mar 2002
Location: Everywhere you wanna be..
Posts: 1,608
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I really don't think its possible... because the only thing you have on the user is his/her ip logged... that really won't do anything if they don't have a consistent ip number ;\ so i doubt it'll be fairly accurate... then again i am new at coding as well so i don't know much

g-force2k2
Reply With Quote
  #8  
Old 07-04-2002, 09:14 PM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

g-force2k2 is right.

You cant trust their IP because most of the users have dynamic IPs, so everytime they connected to the internet, their IP will change.

You cant trust to cookies either, because some may disable it, or can disable whenever they want to pass your restriction.

So even though you design a system for this, it would be quite awkard and not very efficient.

One solution would be to restrict guest posts to X posts in Y hours but this restriction cant apply to a specific guest but all guests instead. For example if you limit it to 5 posts per day, guest X can post 5 and no other guests cant post anymore for that day. A basic IP check can work to restrict guest X post to eg.1 only, but this again wouldnt be very trustworthy for the reasons I mentioned above.

I suggest putting the guests' posts in moderation if you cant disable them alltogether. Most efficient solution IMO..
Reply With Quote
  #9  
Old 07-04-2002, 09:16 PM
Paul Paul is offline
 
Join Date: Jan 2002
Posts: 211
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

Quote:
I really don't think its possible... because the only thing you
have on the user is his/her ip logged... that really won't do anything
if they don't have a consistent ip number ;\ so i doubt it'll be fairly
accurate...
Well, I'm not looking for total accuracy. This would be stored via the
session and carried via a cookie. Those that have cookies disabled
wouldn't see it unless they posted xx posts in one session. Chances are
if you're posting that many messages to a forum (say 5, for example)
you'll want to register anyway to get e-mail notification, etc.

I'm just trying to encourage registration and prevent few people from posting a large number of messages at once. This shouldn't be based on IP address, rather via a number stored in the session table and on the user's cookie (if they have cookies enabled). At the very least, regardless of whether or not a person accepts cookies, they would not be able to post more than xx posts per session.

Thanks,
Paul
Reply With Quote
  #10  
Old 07-04-2002, 09:25 PM
g-force2k2 g-force2k2 is offline
 
Join Date: Mar 2002
Location: Everywhere you wanna be..
Posts: 1,608
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i'd probably follow logician's lead and go with moderating unregs posts i mean i'll help you if needed... but if your looking for that kind of registration then just disable the email notification... and use a quick register type form

g-force2k2
Reply With Quote
Reply

Thread Tools
Display Modes

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 01:02 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07200 seconds
  • Memory Usage 2,251KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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