Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Banning Specific Referers Details »»
Banning Specific Referers
Version: , by NTLDR (Coder) NTLDR is offline
Developer Last Online: Oct 2004 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 08-31-2002 Last Update: Never Installs: 0
 
No support by the author.

OK, i've been trying to make a function like checkipban(); but that checks the referring site and if listed like IP's then it shows a vB Error message, heres what I got so far, It either bans every referrer or bans no referrer :ermm:

PHP Code:
// ###################### Start checkreferrerban #######################
function checkreferrerban() {
 
// checks to see if the referring site is banned
 
global $enablebanning,$banreferrer,$webmasteremail,$session;

 
$banreferrer trim($banreferrer);
 if (
$enablebanning==and $banreferrer!="") {
    
// get referring sites address
    
$referreraddress=getenv("$HTTP_REFERER");
    
// get all banned referrers from the db
    
$dbdomain=explode(" "preg_replace("/[[:space:]]+/"" "$banreferrer) );
    
// get domain for all banned  referrers
    
while (list($key,$val)=each($dbdomain)) {
    
//get referring host name from URL
    
preg_match("/^(http:\/\/)?([^\/]+)/i"".$referreraddress"$matches);
    
$host $matches[2];
    
//get domain name from URL
    
preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches);
    
$match=$matches[0];
    
$hostdomain=explode(" "$match);
    
//check against each banned referrer in the db
    
while (list($key,$val)=each($hostdomain)) {
    if (
strstr(" ".$match," ".trim($val))!="") {
   eval(
"standarderror(\"".gettemplate("error_banref")."\");");
          } 
     }
    }
  }

Its based on this fucnction:

PHP Code:
// ###################### Start checkipban #######################
function checkipban() {
  
// checkes to see if the current ip address is banned
  
global $enablebanning,$banip,$webmasteremail,$session;

  
$banip trim($banip);
  if (
$enablebanning==and $banip!="") {
    
$ipaddress=getenv("REMOTE_ADDR");

    
$addresses=explode(" "preg_replace("/[[:space:]]+/"" "$banip) );
    while (list(
$key,$val)=each($addresses)) {
      if (
strstr(" ".$ipaddress," ".trim($val))!="") {
        eval(
"standarderror(\"".gettemplate("error_banip")."\");");
      }
    }
  }

Any help would be appriciated

Show Your Support

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

Comments
  #2  
Old 08-31-2002, 10:15 PM
Erwin's Avatar
Erwin Erwin is offline
 
Join Date: Jan 2002
Posts: 7,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can ban referrers with .htaccess already. But you probably knew that, and want a PHP version for those without .htaccess.
Reply With Quote
Reply


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 11:08 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.06564 seconds
  • Memory Usage 2,222KB
  • Queries Executed 17 (?)
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_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (1)postbit
  • (2)postbit_onlinestatus
  • (2)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete