An MLDBM-Using Verification Script

The changes to the verify.cgi script are also simple, as the verify2.cgi script given in Example 20-3 shows.

Example 20-3. The verify2.cgi script

#!/usr/bin/perl -Tw # verify2.cgi # # verifies receipt of the member's verification code, and activates the # member's account by: # # 1) writing their information to the $member_file, # 2) adding their username/password pair to the .htpasswd file, # 3) adding them to the appropriate group in the .htgroup file, and # 4) deleting their entry from the submission queue. use strict; use CGI qw(:standard); use Fcntl qw(:flock); use Apache::Htpasswd; use GDBM_File; use MLDBM qw(GDBM_File Storable); use lib '/home/jbc/lib'; use Socalsail::Make_page; $ENV{PATH} = ''; my $notify_email = 'email@example.com'; my $sendmail = '/usr/lib/sendmail'; my $queue_file = '/w1/s/socalsail/maint/data/pending_memberships.gdbm'; my $queue_file_semaphore = $queue_file . '.sem'; my $member_file = '/w1/s/socalsail/maint/data/members.gdbm'; my $member_file_semaphore = $member_file . '.sem'; my $htgroup_file = '/w1/s/socalsail/maint/data/.htgroup'; my $htgroup_semaphore = $htgroup_file . '.sem'; my $htpasswd_file = '/w1/s/socalsail/maint/data/.htpasswd'; my $username = param('username'); my $verify = param('verify'); my $content = ''; unless ($username and $verify) { # they didn't come by clicking on the email link my $form = make_form( ); $content = <<"EOF"; <H2 ALIGN="center">Membership Verification</H1> <P>In order to activate ...

Get Perl for Web Site Management now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.