|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/softechgrp/login/new/ |
Upload File : |
#!/usr/local/bin/perl -w
#c##!/usr/bin/perl -w
# http://www.dmscripts.com/cgibin/DMpassword.cgi?action=Logon
# http://localhost/cgi-bin/DMpassword.cgi?action=Logon
# DMpassword.zip should include the following files:
# DMpassword.cgi
# DMpassword.setup
# sub-libShop.cgi
# cgi-lib.cgi
# template.html
# Example link to output the registration page. Adjust to suit your own server.
# <a href="http://www.dmscripts.com/cgibin/DMpassword.cgi?menu=Register>
# Example link to output the logon page. Adjust to suit your own server.
# <a href="http://www.dmscripts.com/cgibin/DMpassword.cgi?menu=Logon>
# WARNING. CHANGING ANY OF THE CODE BETWEEN THE LINES MAY RENDER THIS PROGRAM PARTIALLY OR FULLY INOPERABLE.
#-----------------------------------------------------------------------------------------------------------
print "Content-type: text/html\n\n";
require "DMpassword.setup";
require "cgi-lib.cgi";
require "sub-libShop.cgi";
&ReadParse(*formData);
$error=0;
if($formData{'menu'} eq 'Register'){
$submitButtonName="applyForPw";
&printForm2(\@regFieldnames,\$formData{'menu'},\$submitButtonName,\$progUrl); ######### 31
exit;
}
elsif($formData{'applyForPw'}){
@pairs=split('&',$formData);
pop(@pairs);
foreach $pair(@pairs){
$pair=~s/\+/ /g;
if($pair=~m/(.+)=$/){
$error=1;
$errorHeader .="Error: The \"$1\" field is blank<br>";
}
}
if($formData{'Email'}!~m/.+\@.+\..+/g){
$error=1;
$errorHeader .="Error: Invalid Email address<br>";
}
if($formData{'Choose a username'}=~/[^A-Z,a-z ]/g){
$error=1;
$errorHeader .="Error: Invalid username. Only alphabetical characters, and spaces accepted";
}
if(-e $pwFile){
open(PASS,"<$pwFile")or die("Cannot open $pwFile for input: $!");
while(<PASS>){
$_=~/\=([A-Z,a-z]+)$/i;
if($formData{'Choose a username'}=~/$1/i){
$error=1;
$errorHeader .="Sorry, this username is already in use.<br>Please choose
another username<br>";
}
}
close(PASS);
}
if($error==1){
$errorHeader .="<br>Please try again.<br>";
$submitButtonName="applyForPw";
&printForm2(\@pairs,\$errorHeader,\$submitButtonName,\$progUrl);
}
else{
&setPw($formData);
#&logonPage3("$progUrl?menu=Register");
my($header)="Registration Complete";
my($subHeader)="Welcome $formData{'Choose a username'}";
my($htmloutput)="<p align='left'>You are now a registered member of www.dmscripts.com<br><br>
Please feel free to browse our web site.<br><br>
Your password should arrive at the email address you supplied shortly.<br><br>
You will need to enter this password to use a shopping cart in
the shop, or post a message in the forum.</p>";
my($footer)="Thank You";
&getMenu;
&getTemplate;
&getResultPage($header,$subHeader,$menu,$htmloutput,$footer);
}
}
elsif($formData{'menu'} eq 'Logon'){
&logonPage3("$progUrl?menu=Register");
}
if($formData{'entersite'} && $formData{'pw'} ne '' && $formData{'username'} ne ''){
$salt=substr($formData{'pw'},(length($formData{'pw'})-2),2);
$encLogonPass=crypt($formData{'pw'},$salt);
if(-e $pwFile && $formData{'pw'} ne ''){
open(PASS,"<$pwFile")or die("Cannot open $pwFile for input. $!");
while(<PASS>){
chomp;
if($_=~m/^($encLogonPass)/g){
$userDetails=$';
$userDetails=~/=([^=]+)$/;
$username=$1;
if($formData{'username'} eq $username){
print "<h3>You're in</h3><em><h1>\"$username\"</h1></em><br>";
&find_file;
open(FILE,"<$file")or die("Cannot open $file: $!");
my(@lines)=<FILE>;
close(FILE);
print @lines;
}
else{
&find_file;
&logonPage3("$progUrl?menu=Register",$formData{'action'});
}
last;
}
}
if($formData{'username'} ne $username){
&find_file;
&logonPage3("$progUrl?menu=Register",$formData{'action'});
exit;
}
close(PASS);
}
}
else{
&find_file;
&logonPage3("$progUrl?menu=Register",$formData{'action'});
}
###
sub find_file{
foreach $key(keys %restricted_files){
if($formData{'action'} eq $key){
$file=$restricted_files{$formData{'action'}};
}
}
}
### SUBROUTINES ####################################################################################
###
sub printForm2{ # 120
my($refpairs,$refHeader,$refsubmitButtonName,$refprog)=@_;
&txtbxform($refpairs);
$header=${$refHeader};
$subheader= "Please complete the form below and click on the submit button.
<form method='post' action='${$refprog}'>";
$htmloutput=join('',@formlines); ######### 126
$footer= "<input type='submit' value='Click here to submit' name='${$refsubmitButtonName}'>
</form>";
######################
&getMenu;
&getTemplate($templatefile); ######### 131
######################
&getResultPage($header,$subheader,$menu,$htmloutput,$footer);
}
###
sub logonPage3{
my($progUrl,$restrict_file)=@_;
&getMenu;
&getTemplate;
#my($header)= $formData{'menu'} ? "$formData{'menu'}" : "Shop";
my($header)="Logon";
my($subHeader)="Enter your username and password, or go to bottom of page to register.";
my($footer)="";
my($htmloutput)="<form method='post' action=\"$progUrl\"><font size='2' color='#a0522d' face='arial'><b>Members logon.</b><br>
Your username please:<br>
<input type='text' name='username' size='20'><br>
Your password please:</font><br>
<input type='password' name='pw' size='20'><br>
<input type='hidden' name='action' value=$restrict_file>
<input type='submit' name='entersite' value='Enter'>
</form><br>
If you do not have a password, <a href=\"$progUrl\"><b>click here</b></a> to register.<br>";
&getResultPage($header,$subHeader,$menu,$htmloutput,$footer);
}
#---------------------------------------------------------------------------------