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

Reply
 
Thread Tools Display Modes
  #1  
Old 07-11-2010, 04:25 AM
merk_aus merk_aus is offline
 
Join Date: Feb 2008
Location: Australia
Posts: 582
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Perl coding assistance

Hey all,
Okay I will cut straight to the point, I have purchased a tipping competition script (from http://perlwebsite.com/tipslite.htm) the script requires users to register to take part in the tipping competition however what I am trying to do is allow members of my vBulletin Publishing Suite 4.0 to login with their forum details.

I am a complete newbie to perl so don't know that much about it however that is the code this tipping competition is scripted in but mainly wish to make it where only those registered on my site can login to place tips.

Any help you can provide would be greatly appreciated, anything you require from me just let me know.
Reply With Quote
  #2  
Old 07-11-2010, 11:26 PM
Brandon_R Brandon_R is offline
 
Join Date: Aug 2009
Posts: 63
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is it encrypted?
Reply With Quote
  #3  
Old 07-12-2010, 08:48 AM
ranz ranz is offline
 
Join Date: Dec 2005
Posts: 83
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You will need to get the perl script to auth via the database (mysql in most cases), and this will require you to use perl modules like DBI and CGI.

If you don't have these modules, you can use CPAN to get them (www.cpan.org).

Here's a "start" for you to wet your whistle:

Code:
#!/usr/bin/perl -w

use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser); # Invoke fatal error messages at compile time.

use DBI;

sub dbConnect() {

        my ($dsn) = "DBI:mysql:dbname:localhost";
        my ($user_name) = "";
        my ($password) = "";
        my ($dbh);

        $dbConnect = DBI->connect ($dsn, $user_name, $password, { RaiseError => 1 });

        return $dbConnect;
}

my $query = CGI->new();

my( $username ) = $query->param("username");
my( $password ) = $query->param("password");

# connect to database
my $dbh = dbConnect();

my $sql = qq{
		SELECT userid
		FROM user
		WHERE username=? AND password=MD5(?)
};
my $sth = $dbh->prepare( $sql );
$sth->execute( $username, $password );
my( $userid ) = $sth->fetchrow;

if($userid){
	#logged in
	
}else{
	#not logged in
	
}

exit 0;
You probably want to use Regular Expression to clean up those inputs (username/password) - just to prevent SQL injection Do a google for perl login scripts - you'll see plenty of examples.
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:24 AM.


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.06539 seconds
  • Memory Usage 2,172KB
  • 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)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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