KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/softechgrp/login/new/DMpassword.cgi
#!/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);
}
#---------------------------------------------------------------------------------













Anon7 - 2021