gpt4 book ai didi

用来解析.htpasswd文件的PHP类

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章用来解析.htpasswd文件的PHP类由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

.htpasswd 文件示例:  user1:{SHA}kGPaD671VNU0OU5lqLiN/h6Q6ac=  user2:{SHA}npMqPEX3kPQTo+x/+ZckHDrIcQI=  user3:{SHA}q1Fh2LTUjjkncp11m0M9WUH5Zrw=  。

复制代码代码如下

class Htpasswd {  private $file = '';  private $salt = 'AynlJ2H.74VEfI^BZElc-Vb6G0ezE9a55-Wj';  private function write($pairs = array()) {  $str = '';  foreach ($pairs as $username => $password) {  $str .= "$username:{SHA}$password\n";  }  file_put_contents($this -> file, $str);  }  private function read() {  $pairs = array();  $fh = fopen($this -> file, '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;  }  private function getHash($clear_password = '') {  if (!empty($clear_password)) {  return base64_encode(sha1($clear_password, true));  } else {  return false;  }  }  public function __construct($file) {  if (file_exists($file)) {  $this -> file = $file;  } else {  die($file." doesn't exist.");  return false;  }  }  public function addUser($username = '', $clear_password = '') {  if (!empty($username) && !empty($clear_password)) {  $all = $this -> read();  if (!array_key_exists($username, $all)) {  $all[$username] = $this -> getHash($clear_password);  $this -> write($all);  }  } else {  return false;  }  }  public function deleteUser($username = '') {  $all = $this -> read();  if (array_key_exists($username, $all)) {  unset($all[$username]);  $this -> write($all);  } else {  return false;  }  }  public function doesUserExist($username = '') {  $all = $this -> read();  if (array_key_exists($username, $all)) {  return true;  } else {  return false;  }  }  public function getClearPassword($username) {  return strtolower(substr(sha1($username.$this -> salt), 4, 12));  }  }  。

使用方法  。

复制代码代码如下

$passwdHandler = new Htpasswd('/home/myuser/.htpasswd');  // Add a user with name 'user1' and password 'I prefer to use passphrase rather than password.' if it doesn't exist in .htpasswd.  $passwdHandler -> addUser('user1', 'I prefer to use passphrase rather than password.');  // Delete the user 'user1' if it exists in .htpasswd.  $passwdHandler -> deleteUser('user1');  // Check if user 'user1' exists in .htpasswd.  if ($passwdHandler -> doesUserExist('user1')) {  // User 'user1' exists.  }  。

最后此篇关于用来解析.htpasswd文件的PHP类的文章就讲到这里了,如果你想了解更多关于用来解析.htpasswd文件的PHP类的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com