Skip to content

PHP Htpasswd writer for Apache. You can add or delete users or you can update their passwords.

Notifications You must be signed in to change notification settings

alexmarchenko/PHP-Htpasswd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

PHP-Htpasswd

PHP Htpasswd writer for Apache. You can add or delete users, or update their passwords.

Features

  • Supports crypt, md5 and sha1 algorithms
  • Locks the htpasswd file to prevent conflicts while writing.
  • Throws an error on invalid usernames.
  • Tested on Windows and debian (apache only)
  • Whole htpasswd file is read into the memory so be careful if you have lots of users (In fact you should consider a different kind of authentication mechanism if you have that many users)

Usage

Install: composer require ozanhazer/php-htpasswd

$htpasswd = new Htpasswd('.htpasswd');
$htpasswd->addUser('ozan', '123456');
$htpasswd->updateUser('ozan', '654321');
$htpasswd->deleteUser('ozan');

Apache htpasswd can be encrypted in three ways: crypt (unix only), a modified version of md5 and sha1. You can define the encryption method when you're setting the password:

$htpasswd->addUser('ozan', '123456', Htpasswd::ENCTYPE_APR_MD5);
$htpasswd->addUser('ozan', '123456', Htpasswd::ENCTYPE_SHA1);

(Yes, you may use different algorithms per user in the same passwd file...)

Make sure that you use either ENCTYPE_APR_MD5 or ENCTYPE_SHA1 on Windows servers as "crypt" is not available on Windows.

See the Apache documentation for encryption details.

About

PHP Htpasswd writer for Apache. You can add or delete users or you can update their passwords.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%