vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Allow URLs in posts only after a minimum number of posts (to reduce spam) (https://vborg.vbsupport.ru/showthread.php?t=44694)

Erwin 10-16-2002 10:00 PM

Allow URLs in posts only after a minimum number of posts (to reduce spam)
 
Allow URLs in posts only after a minimum number of posts (to reduce spam)

I did this mini-hack to reduce the amount of spammers and newbie mistakes at my forums. Most of the newbies at my site do not read the rules, and in their enthusiasm post links back to their own sites or forums.

I have made it so that members need to have a minimum number of posts before they can post URLs to website. On my site I've set it to 15, but you can set it to whatever you like. If a member has less than the required amount of posts, when they try to post they get redirected to an error page, telling them that they need to have a minimum amount of posts before they can post links in their post. In my error message, I also tell them to post links to their own site only in our forum designated for website links.

Update: Version 1.1 - fixed up a loophole. Just replace the old code with the new.
Version 2.0 - tidied up the code, added code to editpost.php, made it easier to change the variable


Anyway, installation is a breeze. The installation text file is below:

Erwin 10-17-2002 11:17 AM

<u>Screenshot</u>

This is a screenshot of the error message that the member will be redirected to if he or she has less that the minimum number of posts required and tries to post a message that has a website address or URL in it.

Remember, you can customize this error message to suit your site.

TECK 10-17-2002 11:21 AM

looks good erwin... :)
a little tip, when variable values are involved like that? try always to add them into global.php.

so your $allowurl should be identified to something like that:
Code:

// allow url's after xx posts
$allowurl = 15;

will be alot easier to be changed onto one file, then to look through several ones, in case the user tries to change the value after... that will make it easier on newcommers to find something in php files.

let me know what you think.

Erwin 10-17-2002 11:25 AM

True, but in the case of this mini-hack, editing 2 files is easier than 3 files for newbies. :) Not worth making the $allowurl variable global if it's only going to be used in those 2 files, plus I don't want newbies mucking around in global.php just in case. But yeah, people can do that if they wish.

NTLDR 10-17-2002 11:26 AM

Simple yet usefull Hack Erwin, thanks for sharing, I'll probably install this one :)

freeshares1 10-17-2002 11:35 AM

Erwin,

This is a fantasic but simple idea, I get a lot of spam and this would help to reduce that.

Thanks

Erwin 10-17-2002 11:41 AM

Thanks guys. :) If you like it and use it, please click install, so that I can keep track of how many installers there are, and also in case I update the hack and need to inform the installers. :)

John 10-17-2002 11:54 AM

Great hack Erwin!

It's a shame that after seeing the error message, a spammer would probably just type in the URL with a space after the "www." or something similar. :(

Neo 10-17-2002 02:21 PM

As a addon to what TECK said you could also place a unset(); just above it.

Erwin 10-17-2002 07:41 PM

Quote:

Originally posted by john.eovie
Great hack Erwin!

It's a shame that after seeing the error message, a spammer would probably just type in the URL with a space after the "www." or something similar. :(

Hi john! Long time no see! :)

Yeah, at least if they bypass this hack by adding spaces and such the URL won't be clickable. And we will know then that they are a "true spammer" rather than an unknowing newbie.

Erwin 10-17-2002 07:54 PM

Quote:

Originally posted by Neo
As a addon to what TECK said you could also place a unset(); just above it.
There's no real need to do that, but I've decided to restrict the file edits to only newthread.php and newreply.php to keep things simple.

Dark Shogun 10-18-2002 08:44 PM

Can you make it so it only works with the registered user group because my admins, mods, and super mods can post any. :(

Dark Shogun

Chris M 10-18-2002 09:26 PM

Wow...

Nice little hack Erwin:D

Satan

Erwin 10-18-2002 11:18 PM

Quote:

Originally posted by Dark Shogun
Can you make it so it only works with the registered user group because my admins, mods, and super mods can post any. :(

Dark Shogun

Your staff have less than the minimum post count required??? :eek:

Easy fix...

In BOTH newthread.php AND newreply.php, find:

PHP Code:

$allowurl 15;
    if(
$bbuserinfo[posts] < $allowurl and strstr($message,'[url]')) {
      eval(
"standarderror(\"".gettemplate("error_nourlallowed")."\");");
      exit;
    } 

Change it to:

PHP Code:

if ($bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=or $bbuserinfo[usergroupid]!=7) {
$allowurl 15;
    if(
$bbuserinfo[posts] < $allowurl and strstr($message,'[url]')) {
      eval(
"standarderror(\"".gettemplate("error_nourlallowed")."\");");
      exit;
    }


Make sure you change the $allowurl amount to suit your site.

Again, I am very surprised that you have staff members who do not reach the minimum post count for your site. :)

Graphics 10-19-2002 05:22 PM

hey erwin cna u make it for ".com" also. and if u can a lot of ppl use the vbcode [url ] is there a way to make it into that also.

i am just asking if u can. if not its still a great hack.

Erwin 10-19-2002 08:58 PM

Quote:

Originally posted by Graphics
hey erwin cna u make it for ".com" also. and if u can a lot of ppl use the vbcode [url ] is there a way to make it into that also.

i am just asking if u can. if not its still a great hack.

If they only put in a ".com" then the domain will show but it won't be linkable. People will have to type it out.

If they use the vcode [url ] this hack will block it automatically.

Dark Shogun 10-21-2002 06:05 PM

Quote:

Originally posted by Erwin


Your staff have less than the minimum post count required???

Again, I am very surprised that you have staff members who do not reach the minimum post count for your site. :)

It is because my forum is new. :)

Dark Shogun

Erwin 10-21-2002 07:24 PM

Update: Version 1.1 - fixed up a loophole. Just replace the old code with the new.

I've discovered a couple of loopholes that new users can use to post URLs. I've replaced the old code with a new piece of code that closes up these loopholes. Please download the 1.1 version of the text file, and replace the old code with the new. :)

HHTKAO 10-27-2002 02:56 AM

Is step one and two the same for a reason?

Erwin 10-27-2002 02:03 AM

Step One is for newthread.php, Step Two is for newreply.php - different files, but same code to find and add.

smess 10-27-2002 04:34 AM

works great, thanks a lot.

Dean C 10-27-2002 03:18 PM

Awesome this should be quite easy to modify for a specific forum :D

Thanks Erwin :D

Regards

- miSt

Brain Crusher 02-17-2003 10:38 PM

The Hack is bugy, if a guy want promotion his homepage
he can make a post like

subject my page
text: rotten.com

and post it after it, he can edit his own post and make rotten.com to www.rotten.com, after submit it

the link will be active with "[URL]"...

Brain Crusher 02-17-2003 11:00 PM

Helped myself :).

I think you should add this to editpost.php under the same "find string" how newreply.php

$allowurl = 15;
if($bbuserinfo[posts] < $allowurl and strstr($message,'[url')) {
eval("standarderror(\"".gettemplate("error_nourlal lowed")."\");");
exit;
}
if($bbuserinfo[posts] < $allowurl and strstr($message,'[URL')) {
eval("standarderror(\"".gettemplate("error_nourlal lowed")."\");");
exit;
}

$allowurl = 15;
if($bbuserinfo[posts] < $allowurl and strstr($message,'www')) {
eval("standarderror(\"".gettemplate("error_nourlal lowed")."\");");
exit;
}
if($bbuserinfo[posts] < $allowurl and strstr($message,'www')) {
eval("standarderror(\"".gettemplate("error_nourlal lowed")."\");");
exit;
}

which blocks now also to edit the www or URL-BBcode to the url.

Raz 02-18-2003 12:31 PM

Nice hack.

I would recommend you use the stristr function instead of the strstr function.

Raz 02-18-2003 12:42 PM

You might also want to "streamline" it into one condition:
PHP Code:

if( ($bbuserinfo[posts] < $allowurl) and (stristr($message,'[url') or stristr($message,'www.') or stristr($message,'http://')) ) { 

with the added http:// check. (http://google.com)

sajjid 05-16-2003 11:34 PM

i was wondering if it is possiable to disable live linking i mean users be able to post a link but it should not be clickable.
i dont mind people posting links as long as they not clickable other should be able to see it then if they wanna visit that site then they have to type it in thier browser. Just like my signature below

Erwin 05-17-2003 12:22 AM

Update Version 2.0 - Tidied up the code, added to editpost.php, made it easier to change the variable

Just download the text file and replace the old code. I've made it so you can change the minimum post easily in the phpinclude template.

Erwin 05-17-2003 12:24 AM

Quote:

Today at 10:34 AM sajjid said this in Post #27
i was wondering if it is possiable to disable live linking i mean users be able to post a link but it should not be clickable.
i dont mind people posting links as long as they not clickable other should be able to see it then if they wanna visit that site then they have to type it in thier browser. Just like my signature below

That would require an edit of functions.php, and not the purpose of this hack. It's a matter of making the "automatically parse URL" radio button switched to off automatically.

sajjid 05-17-2003 01:24 AM

Thanks for the quick reply but i am still lost i am new to php coding
any further help would be most welcome

tkeil69575 06-22-2003 03:04 PM

great hack erwin
thank you

David Bott 07-24-2003 02:01 PM

I am sorry to say I am at a total loss on this one. It is weird...If I add the code to the two of the files (editpost.php and newreply.php)...they all produce...

Parse error: parse error in /home/avsforum/www.avsforum.com/avs-vb/editpost.php on line 307

...or the like. In this case, line 307 is the last line in the file.

This is a great hack and needed on AVS Forum...I just can not seem to figure out why this is happening. ver 2.2.8

Help?

David Bott 07-24-2003 02:24 PM

NOTE....In your instructions for editpost.php and newreply.php you have forgot your closing } for the IF statment. Thus the above error.

Erwin 07-25-2003 02:49 AM

You're right... how embarassing... :) It's been almost a year as well... thanks - text file fixed.

David Bott 07-25-2003 11:11 AM

Yes...A year...LOL. Your hacks still live on! ;) This is a great one in my book.

Thanks for all you do.

partang2 07-30-2003 01:32 PM

I installed it today on 2.3.0 and it doesn't work at all there....

jdmuniverse 08-06-2003 04:03 PM

[high]* jdmuniverse jumps up and hits the install button with a bat :)[/high]

bigdaddy04 01-17-2004 11:33 PM

Does this hack also disable urls in the signatures/pms?

MickDoneDee 07-02-2004 07:10 AM

Quote:

Originally Posted by bigdaddy04
Does this hack also disable urls in the signatures/pms?

I'd install this if it was ported to vB3.x.x. If anyone here has it running on their site how effectively has it helped to reduce spamming?

Battle_Ring 08-02-2004 11:43 PM

Works Great! I Installed on 2.3.5


All times are GMT. The time now is 04:43 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.01291 seconds
  • Memory Usage 1,828KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (3)bbcode_php_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete