Linux で .htpasswd ファイルを解析するために PHP クラスが必要な友人は、それを参照できます。
使用方法を紹介します
$
コードは以下の通りです | コードをコピーします |
passwdHandler = new Htpasswd('/home/myuser/.htpasswd'); //でユーザーを追加します名前 'user1' とパスワード 'パスワードではなくパスフレーズを使用します。' $passwdHandler -> addUser('user1', 'パスワードではなくパスフレーズを使用します。' ); / / ユーザー 'user1' が .htpasswd に存在する場合は削除します。 $passwdHandler -> deleteUser('user1'); // ユーザー 'user1' が .htpasswd に存在するかどうかを確認します。 -> dosUserExist ('user1')) { // ユーザー 'user1' が存在します | htpasswd class
コードは次のとおりです
コードをコピーします | | クラス 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
true
http://www.bkjia.com/PHPjc/444677.html
技術記事
Linux で .htpasswd ファイルを解析するために PHP クラスが必要な友人は、それを参照できます。 利用方法を紹介 $ コードは以下の通り コードをコピー passwdHandler = new Htpasswd('/home/myuser/.htpasswd...
|