vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Perl coding assistance (https://vborg.vbsupport.ru/showthread.php?t=246310)

merk_aus 07-11-2010 04:25 AM

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.

Brandon_R 07-11-2010 11:26 PM

Is it encrypted?

ranz 07-12-2010 08:48 AM

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.


All times are GMT. The time now is 01:33 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.00951 seconds
  • Memory Usage 1,718KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (3)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete