Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 05-31-2007, 06:19 PM
Wizardjv Wizardjv is offline
 
Join Date: Feb 2006
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default global.php

Ok so I wrote a private script I only want certain usergroups to see. But the problem im having is when I use the global.php to set the permision like:

HTML Code:
<?php

require('./global.php');   ?>

<? 
if (!is_member_of($vbulletin->userinfo, 13))
{
    print_no_permission();
}  
?>
It breaks my php script because of the certain variables set in the global php

Is there any other way I could restrict access by certain usergroups without the global.php. Or maybe someone could tell me exactly what part of the global php is the part that sets the permissions like that. And I could just create a new file to tie the permissions into.

Any help would be greatly appreciated.
Reply With Quote
  #2  
Old 06-01-2007, 10:29 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would rather change my own script to suit global.php than change global.php to suit my script.
Reply With Quote
  #3  
Old 06-01-2007, 10:32 AM
odonel odonel is offline
 
Join Date: Sep 2006
Posts: 80
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

another idea is to copy global.php to global2.php, edit global2.php and require global2.php
Reply With Quote
  #4  
Old 06-03-2007, 12:01 AM
Wizardjv Wizardjv is offline
 
Join Date: Feb 2006
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well I found this code by ModShack:
Code:
// To secure a page put this in your php file (and have authvb.php in the same directory)
// require('./authvb.php');


// Variables to edit

$checkservername = "localhost";                 // hostname or ip of server
$dbcheckusername = "dbusername";                      // user name
$dbcheckpassword = "dbpasword";                   // user password
$dbcheckbase     = "vBDatabase";                     // name of database
$realm = "Private - no unauthorized access";                // Name of secured area / file
$auth = false;                                  // Assume user is not authenticated 



// Check for username and password values and set up MySql connection

if (isset( $_SERVER['PHP_AUTH_USER'] ) && isset($_SERVER['PHP_AUTH_PW'])) { 
    mysql_connect( $checkservername, $dbcheckusername, $dbcheckpassword ) 
        or die ( 'Unable to connect to server.' ); 
    mysql_select_db( $dbcheckbase ) 
        or die ( 'Unable to select database.' ); 


// Password check - get passowrd and salt from db for username specified

$query = "SELECT salt, password, userid FROM user WHERE username='$_SERVER[PHP_AUTH_USER]'"; 
$result = mysql_query($query) or die("The information you entered does not match our records."); $row=mysql_fetch_array($result); 
$dbpassword = $row['password']; 
$salt = $row['salt'];
$userid = $row['userid'];
$username = $_SERVER[PHP_AUTH_USER];

// Is the password the same
if ($dbpassword == md5(md5($_SERVER['PHP_AUTH_PW']). $salt)) { 

// Check whether user belongs to certain usergroup 5 for supermoderators 6 for admins


// change the usergroupid's to the numbers of the usergroups you want to allow access to the page.

$sql = "SELECT * FROM user WHERE username = '$_SERVER[PHP_AUTH_USER]' AND (usergroupid = '6' or usergroupid = '5' or usergroupid = '
53' or usergroupid = '49') "; $result = mysql_query( $sql ) or die ( 'Unable to execute query.' ); $num = mysql_numrows( $result ); 
if ( $num != 0 ) { $auth = true;     }  

} else { 
//Optional place for stuff about wrong password

 }

}

//If no authoristaion
if ( ! $auth ) { 
    header( "WWW-Authenticate: Basic realm=\"$realm\"" ); 
    header( "HTTP/1.0 401 Unauthorized" ); 
    echo 'Authorization Required! Credentials have been logged!'; 
    exit; 
}

Which works fine though now I would like to log who logs into that page like: the username and ip addy used.

Does anyone know how I could do this?
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 07:50 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.07220 seconds
  • Memory Usage 2,192KB
  • Queries Executed 11 (?)
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_code
  • (1)bbcode_html
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete