#!/usr/bin/perl use warnings; #use strict; use DBI; my ( ); #put my vaiables ^ there $testuserid=$ARGV[0]; $test_sql="select firstname, lastname, password, username, dob, zipcode, age, remotehost, ut, secret_question, secret_answer from users where userid=$testuserid;"; $db_test = DBI->connect("DBI:mysql:database=my_userdb;host=db_host","master","",{RaiseError=>0}); if ( !$db ) { $fraud{$testuserid}->{secret_question}=$d->{"secret_question"}; print "Cannot contact aladdin, bypassing."; } $query_test = $db_test->prepare($test_sql); $query_test->execute(); while ($d = $query_test->fetchrow_hashref()) { # $testuserid=$d->{"testuserid"}; $test4firstname=$d->{"firstname"}; $test4lastname=$d->{"lastname"}; $test4password->{password}=$d->{"password"}; $test4username->{username}=$d->{"username"}; $test4dob=$d->{"dob"}; $test4zipcode=$d->{"zipcode"}; $test4age=$d->{"age"}; $test4remotehost=$d->{'remotehost'}; $test4ut=$d->{"ut"}; #cookie $test4secret_q=$d->{"secret_question"}; $test4secret_a=$d->{"secret_answer"}; $fraud_factor=0; # more queries, more variables #........................... #........................... } $db_test->disconnect(); $sql = "select userid, firstname, lastname, password, username, dob, zipcode, age, remotehost, ut, secret_question, secret_answer from users where status='ok' limit 5;"; $db = DBI->connect("DBI:mysql:database=my_userdb;host=mydbhost","master","",{RaiseError=>0}); if ( !$db ) { print "Cannot contact aladdin, bypassing."; } $count=0; $query = $db->prepare($sql); $query->execute(); while ($c = $query->fetchrow_hashref) { $count++; $userid=$c->{"userid"}; $firstname=$c->{"firstname"}; $lastname=$c->{"lastname"}; $password=$c->{"password"}; $username=$c->{"username"}; $dob=$c->{"dob"}; $zipcode=$c->{"zipcode"}; $age=$c->{"age"}; $remotehost=$c->{'remotehost'}; $ut=$c->{"ut"}; $secret_q=$c->{"secret_question"}; $secret_a=$c->{"secret_answer"}; # more queries, more variables #........................... #........................... # do some creative tests, while incrementing # fraud_factor for combinations of matches } $db->disconnect(); print "$testuserid\t $fraud_factor";