View Single Post
  #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
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01232 seconds
  • Memory Usage 1,765KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete