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

ozanhazer/PHP-Htpasswd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP-Htpasswd

Unit Tests

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.
  • Unit tested.
  • 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...)

See the Apache documentation for encryption details.

Tips

  • Do not prefer ENCTYPE_CRYPT on Windows servers since it's not available on Windows by default.
  • ENCTYPE_CRYPT passwords are limited to 8 characters and extra characters will be ignored so the library will trigger a notice if long passwords are provided.

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages