Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Modify .htaccess files

by cjf (Parson)
on Feb 04, 2002 at 22:38 UTC ( #143311=sourcecode: print w/ replies, xml ) Need Help??

Category: Web Stuff
Author/Contact Info /msg cjf
Description: Uses Apache::Htpasswd to add, delete, or change the password of a user in a .htaccess file. User input is web-based using forms, includes an authorization check.
#!/usr/bin/perl -wT

use strict;
use CGI;
use Apache::Htpasswd;

my $q  = new CGI;
my $ht = new Apache::Htpasswd("/home/cjf/httpd/.htaccess");

my $passwd     = $q->param("password");

my $action     = $q->param("action");
my $user       = $q->param("user");
my $new_passwd = $q->param("new_passwd");
my $old_passwd = $q->param("old_passwd");

if ($new_passwd eq '') {
    error("You didn't enter a password");

my $valid_user = "cjf";
my $valid_passwd = "J10A1P16H8";

if (($username eq $valid_user) && ($passwd eq $valid_passwd)) {

    if ($action eq "add") {
        $ht->htpasswd($user, $new_passwd);
    } elsif ($action eq "change_passwd") {
        $ht->htpasswd($user, $new_passwd, $old_passwd);
    } elsif ($action eq "delete_user") {
    } else {
        error("No action was submitted.");

} else {
    error("Login Incorrect.");

sub error {
    my $error = shift;

Comment on Modify .htaccess files
Download Code
Re: Modify .htaccess files
by merlyn (Sage) on Feb 04, 2002 at 23:41 UTC
Re: Modify .htaccess files
by grinder (Bishop) on Feb 05, 2002 at 08:35 UTC

    From that web page....



    1. Human readable text files.
    2. DBM database files.
    3. Berkeley DB database files.
    4. SQL databases.



    g r i n d e r

Back to Code Catacombs

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://143311]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2014-07-13 01:58 GMT
Find Nodes?
    Voting Booth?

    When choosing user names for websites, I prefer to use:

    Results (245 votes), past polls