ホームページ  >  記事  >  バックエンド開発  >  linux_PHP チュートリアルで .htpasswd ファイルを解析するための PHP クラス

linux_PHP チュートリアルで .htpasswd ファイルを解析するための PHP クラス

WBOY
WBOYオリジナル
2016-07-20 11:10:52798ブラウズ

Linux で .htpasswd ファイルを解析するために PHP クラスが必要な友人は、それを参照できます。

使用方法を紹介します

$

コードは以下の通りですコードをコピーしますpasswdHandler = new Htpasswd('/home/myuser/.htpasswd'); htpasswd class
//でユーザーを追加します名前 'user1' とパスワード 'パスワードではなくパスフレーズを使用します。'
$passwdHandler -> addUser('user1', 'パスワードではなくパスフレーズを使用します。' );
/ / ユーザー 'user1' が .htpasswd に存在する場合は削除します。
$passwdHandler -> deleteUser('user1');
// ユーザー 'user1' が .htpasswd に存在するかどうかを確認します。 -> dosUserExist ('user1')) {
// ユーザー 'user1' が存在します


コードは次のとおりです コードをコピーしますクラス Htpasswd { プライベート $ ファイル = ''; プライベート $salt = "AynlJ2H.74VEfI^BZElc-Vb6G0ezE9a55-Wj";
プライベート関数 write($pairs = array()) {

foreach ($pairs として) $username => $password ) {
$str .= "$username:{SHA}$passwordn";
file_put_contents($this -> file, $str);
$pairs = array() ;
$fh = fopen($this -> ファイル, 'r');
while (!feof($fh)) {
$pair_str = str_replace("n", '', fgets($fh));
$pair_array =explode(':{SHA}', $pair_str);
if (count($pair_array) == 2) {
$pairs[$pair_array[0]] = $pair_array [1];
}
}
return $pairs;
}
プライベート関数 getHash($clear_password = '') {
if (!empty($clear_password)) {
returnbase64_encode(sha1($clear_password, true)) ;
} else {
return false;
}
public function __construct($file) {
$this -> file = $file;
die( $file." は存在しません。");
return false;
}
}
public function addUser($username = '', $clear_password = '') {
if (!empty($username) && !empty ($clear_password)) {
$all = $this ->
if (!array_key_exists($username, $all)) {
$all[$username] = $this -> );
$this -> ;
}
} else {
return false;
$username = '') {
$all = $this -> ();
if (array_key_exists ($username, $all)) {
$this -> else {
}
; }
public function dosUserExist($ username = '') {
$all = $this ->
if (array_key_exists($username, $all)) {
return true
} else {
return false; ;
}
}
public function getClearPassword($username) {
return strto lower(substr(sha1($username.$this -> Salt), 4, 12));




http://www.bkjia.com/PHPjc/444677.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/444677.html

技術記事

Linux で .htpasswd ファイルを解析するために PHP クラスが必要な友人は、それを参照できます。 利用方法を紹介 $ コードは以下の通り コードをコピー passwdHandler = new Htpasswd('/home/myuser/.htpasswd...


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。