Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Simple vB User login and access control on non vB pages Details »»
Simple vB User login and access control on non vB pages
Version: 1.30, by Billspaintball Billspaintball is offline
Developer Last Online: Nov 2011 Show Printable Version Email this Page

Version: 3.5.8 Rating:
Released: 11-16-2005 Last Update: 04-23-2007 Installs: 138
Additional Files  
No support by the author.

Hack Description

This is a cutdown version of the user authentication and access control system I use on the non vB pages on my website.

This uses the vB 3.5 login system to log you in and out. It allows you to move between your forums and other pages on your site while remaining logged in.

It allows you to do things such as restrict pages by usergroup, display different content depending on a user being logged in or not.
For example, you can have banner Adds displying to non members only, and/or let members access to specific content.

Ive cut it down to the bare minimum that it needs to work, no fancy stuff such as avatars, PM's, or even formating.

I will try and offer support, but work and family commitments mean I dont have much free time.

This code is a mix of my own, and pieces I have used from other hacks that are floating around.

This script has been confirmed as working on
  • vB 3.5.x - All Versions


Changelog

Version 1.30 (24th April 2007)
  • Fixed - // in paths bug
  • Fixed - Javascript warning in some browsers
  • Fixed - Tidied up some code

Version 1.20 (2nd December 2006)
  • Fixed Logout incorrect path bug
  • Made change to reduce compatibility problems with foreign scripts

Version 1.10 (4th Feb 2006)
  • Changed login_inc.php so you only need to edit path in one place now.
  • Added more commenting to login_inc.php
  • Added usage instructions to instructions file
  • Added troubleshooting guide with all common problems and fixes to instructions file.
Note: It is NOT necessary to update from 1.0 to 1.10.
There is no functionality changes or bug fixes between these 2 releases.

Version 1.0 (17th November 2005)
  • Initial Release


Deluxe Version of this hack is now available
Has Avatars, PM's, Number of Posts etc.

Click Here


Click on Install
If you have this script installed then please click on the install link because;
  • You will get notified if any security issues are reported.
  • You will get notified when there are any upgrades to this script
  • It gives me a warm fuzzy feeling and motivates me to develop more

Donations
First of all, to be clear. This script is 100% free.

However if you feel an urge to donate I'm not going to say no.
Donations can be made at http://www.billspaintball.com/vb3/bd_donate.php

Show Your Support

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

Comments
  #32  
Old 12-29-2005, 06:58 AM
plexi plexi is offline
 
Join Date: Nov 2005
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you thank you thank you! This mod was exactly what I was looking for!

Quote:
Originally Posted by Billspaintball
You need to remove all lines or spaces before these block of code.
It must go at the very top of the page.

PHP Code:
<?php
    chdir
('/path/to/your/forums'); 
    require_once(
'/path/to/your/forums/global.php');  
    require_once(
'/path/to/login_inc.php');
?>
BTW, does the login_inc.php need to be at the top of the page? It might cause problems ("headers already sent errors") for some since it echos output to the browser before the opening <html> tag.
Reply With Quote
  #33  
Old 12-29-2005, 08:56 AM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by plexi
Thank you thank you thank you! This mod was exactly what I was looking for!



BTW, does the login_inc.php need to be at the top of the page? It might cause problems ("headers already sent errors") for some since it echos output to the browser before the opening <html> tag.
Doh!
Your right.
Login_inc.php is the actual login box and should be placed on the page where you want the box, not in the header.

Ive been going to revise it with a simpler version (only one line to edit in the include so I will change the instructions then as well.
Reply With Quote
  #34  
Old 01-24-2006, 03:17 PM
Sven Sven is offline
 
Join Date: Oct 2001
Location: Neuss, Germany
Posts: 59
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Billspaintball
Doh!
Your right.
Login_inc.php is the actual login box and should be placed on the page where you want the box, not in the header.

Ive been going to revise it with a simpler version (only one line to edit in the include so I will change the instructions then as well.
Nice one

Does it actually work across domains?
I tried to implement it on my site www.sw-eaw.de in order to restrict users which are not registered on the forums on www.cncforen.de from commenting news and using the shoutbox.

So I made a test with a simple php which only calls the include_inc.php.
After editing the vB Setting for the referer white list I was able to send POST data from one to the other domain.
And after filling in my login details the script redirects me to my forum homepage. (I assume I will have to edit login.php around line 120 (redirect) and ask for the referer before redirect is called so I can switch between forum login and site login redirect?)

When I call my loginscript again it will keep on telling me I'm not logged in and presents the login form.

Any ideas?
Reply With Quote
  #35  
Old 01-24-2006, 06:44 PM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It is due to some new security precautions added in vBulletin to prevent POST requests from other domain names from being sent to your forums.

Ive only seen this fix elsewhere and havent tried it out myself yet.
Let me know if it works so I can add it to the instructions.

Open your /forum/login.php file and look for this code:
Code:
error_reporting(E_ALL & ~E_NOTICE);
Below this add;
Code:
 define('SKIP_REFERRER_CHECK', true);
Save and upload the file.
Reply With Quote
  #36  
Old 01-25-2006, 12:13 PM
Sven Sven is offline
 
Join Date: Oct 2001
Location: Neuss, Germany
Posts: 59
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thx for the answer...
...but the problem is vice versa....
I can actually send POST data to vBulletin.

Here's what's happening when i call the modification from sw-eaw.de:
The form appars and after I click 'Login' it redirects me to the forum and I'm logged in.
But calling the .php again (on sw-eaw.de) will show the form instead of stating that I'm now logged in.

Directory structure on the server is like this:
/var/www/[domainname]/
and there's the document root for apache for each domain.
Reply With Quote
  #37  
Old 01-25-2006, 12:20 PM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try this fix from here:
https://vborg.vbsupport.ru/showpost....1&postcount=27
Quote:
I fixed it. Here's how:

AdminCP -> vBulletin Options -> Cookies and HTTP Header Options -> Path to Save Cookies

I changed the 'Suggested Settings' dropdown from '/forums/' to '/'
Reply With Quote
  #38  
Old 01-26-2006, 01:15 PM
Sven Sven is offline
 
Join Date: Oct 2001
Location: Neuss, Germany
Posts: 59
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Billspaintball
That won't help as the forums are in / already and sw-eaw.de is not part of the DocumentRoot of that particular VirtualHost but an own one.

So I would need to set the cookie path to a directory above which then would be /www - and that's not a part the Apache can work in....
Reply With Quote
  #39  
Old 01-28-2006, 02:03 AM
ausnrl ausnrl is offline
 
Join Date: Oct 2005
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I got a problem i did what you said in the instructions.txt file right and what happens is when i check my file and it only shows at the top so do i put the code below to where i want it on the page or will i use the code from login_inc.php in the page?
PHP Code:
 <?php
    chdir
('/path/to/your/forums'); 
    require_once(
'/path/to/your/forums/global.php');  
    require_once(
'/path/to/login_inc.php');
    
?>
Reply With Quote
  #40  
Old 01-30-2006, 05:46 AM
ausnrl ausnrl is offline
 
Join Date: Oct 2005
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For all those with the problem i had(not sure if posted up in here) but remove the line that points to login_inc.php and then paste your login_inc.php code into the pages. Only have one problem. I hit logout and it doesnt log out

I have a CSS Document for the login box but how would i use it for the login boxes with this code?

EDIT Another Problem: I tried to see if it would work if i deleted cookies but i try logging in it logs me in but it shows the login box so im sorta back where i started.

My Problems helping for support
Doesnt log me out when i hit logout
When delete cookies it logs me in on forums but doesnt say welcome back nrlleague.
CSS Form Change
Reply With Quote
  #41  
Old 01-30-2006, 06:37 AM
Billspaintball's Avatar
Billspaintball Billspaintball is offline
 
Join Date: Sep 2003
Location: Bathurst, Au
Posts: 649
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah if you do it like that you will have problems logging out because the headers have already been sent.

Ive done something wrong when I cut my login down to this simple version, I will have to look at my code and see where that is.

That may not be for a day or two though.

Edit: Doh!! Nothing very wrong with this, I just included whitespace by mistake. :cross-eyed:
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 04:13 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.04826 seconds
  • Memory Usage 2,329KB
  • Queries Executed 27 (?)
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
  • (4)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
  • (11)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_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