forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


.htpasswd Encryption

 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> General Help
View previous topic :: View next topic  
Author Message
VisorSoft
Guest





PostPosted: Fri Nov 22, 2002 9:33 pm    Post subject: .htpasswd Encryption Reply with quote

Hello,

Does anyone know how to encrypt .htpasswd passwords with
Visual DialogScript?

I found some Perl source code to do this, but I was wondering if it is
possible to do it in VDS.

The perl script can be found below:

http://www.croesusdesign.com/pass.html wrote:
#!/usr/local/bin/perl -T
#you may need to adjust the above line (#!/usr/bin/perl is common)
#-----------------------------------------------------------------------------
# EZPass v1.1 (c) 2001-2002 Croesus Design and Promotion
# Rev 11.25.2001-2002
# Developed by Jason C. Fleming
# This program is distributed as open source WITHOUT ANY WARRANTY; without even
# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# IN NO EVENT WILL CROESUS DESIGN, THE AUTHOR OF THIS PRODUCT OR ANY
# REPRESENTATIVE OF CROESUS DESIGN BE LIABLE FOR LOSS OF DATA OR FOR
# DIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL (INCLUDING LOST PROFIT),
# OR OTHER DAMAGE, WHETHER BASED IN CONTRACT, TORT, OR OTHERWISE.
#-----------------------------------------------------------------------------
$| = 1; #flush output
read (STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); #get form input
@namevalues = split(/&/, $buffer);
foreach $namevalue (@namevalues) {
($name, $value) = split(/=/, $namevalue);
$name =~ tr/+/ /;
$value =~ tr/+/ /;
$name =~ s/%(..)/pack("C", hex($1))/eg;
$value =~ s/%(..)/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g; #deletes SSI's in case html is returned
$value =~ s/([:;<>\*\|`&\$!#\(\)\[\]\{\}'"])//g; # bleeps out html etc.
$form{$name} = $value;
}
if ($form{path}) {
if (substr($form{'path'},0,1) eq '/') {$form{'path'} = substr($form{'path'},1)}
if (substr($form{'path'},-1) ne '/') {$form{'path'} .= '/'}
}
$program = $ENV{SCRIPT_NAME};
$root = $ENV{DOCUMENT_ROOT};
if ($form{'directory'}) {
$form{'access'}=qq~AuthUserFile $root/$form{'path'}.htpasswd
AuthGroupFile /dev/null
AuthName "$form{'directory'}"
AuthType Basic

<Limit GET POST>
require valid-user
</Limit>~;
$form{'passwd'}="$form{'login'}:" . &Crypt($form{'password'});
}
&OutputPage;
sub OutputPage {
print "Cache-Control: No-Cache\nContent-Type: text/html\n\n";
print qq~<html><head><title>.htaccess Generator</title></head><body>
<form method=post action="$program">
<table><tr><td colspan=2><font face="Verdana, Arial, Helvetica, sans-serif" size=5><b>EZ Pass
<br>File Generator for .htaccess<br><font size=3><i>by Croesus Design</b></font><hr></td><tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif">
Name of Protected Area (this can be anything)</td>
<td><input name=directory value="$form{'directory'}"></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif">
Secret Directory (path to password file, relative to document root)<br>Ex: private/</td>
<td><input name=path value="$form{'path'}"></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif">Username</td>
<td><input name=login value="$form{'login'}"></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif">Password</td>
<td><input type=password name=password value=$form{'password'}></td></tr>
<tr><td></td><td><input type=submit name=submit value="Generate Files"></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif">.htaccess File Code</td>
<td><textarea name=access cols=60 rows=10>$form{'access'}</textarea></td></tr>
<tr><td><font face="Verdana, Arial, Helvetica, sans-serif">.htpasswd File Code</td>
<td><textarea name=passwd cols=60 rows=1>$form{'passwd'}</textarea></td></tr>
</table></form></body></html>~;
}
sub Crypt {
my $pass_code = shift(@_);
my @chr = ('a'..'z');
my $s1= @chr[int(rand($#chr + 1))];
my $s2= @chr[int(rand($#chr + 1))];
my $salt = "$s1$s2";
my $crypt=crypt($pass_code,$salt);
return $crypt;
}


Thank you for any help. Smile
Back to top
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> General Help All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group