|
 |
Путь: Шпаргалки
Шпаргалки
Автор: - Yurik
Дата публикации - 21.05.2005
Просмотров: - 6127
Редактирование .htpasswd
[code]<?php
function read_passwd($file) {
global $users;
global $cvs;
$fp = fopen($file,'r') or die("Unable to open $file");
while(!feof($fp)) {
$line = fgets($fp, 128);
list($user,$pass,$cvsuser) = explode(':',$line);
if(strlen($user)) {
$users[$user] = $pass;
$cvs[$user] = trim($cvsuser);
}
}
fclose($fp);
}
function addUser($user,$pass,$cvsuser) {
global $users;
global $cvs;
if(!isset($users[$user])) {
// $users[$user] = crypt($pass,substr($pass,0,2));
$users[$user] = crypt($pass);
$cvs[$user] = $cvsuser;
return true;
} else {
return false;
}
}
function modUser($user,$pass,$cvsuser) {
if(isset($users[$user])) {
// $users[$user] = crypt($pass,substr($pass,0,2));
$users[$user] = crypt($pass);
$cvs[$user] = $cvsuser;
return true;
} else {
return false;
}
}
function delUser($user) {
if(isset($users[$user])) {
unset($users[$user]);
unset($cvs[$user]);
} else {
return false;
}
}
function checkUser($user,$pass) {
if(isset($users[$user])) {
if($users[$user] == crypt($pass,substr($users[$user],0,2))) return true;
}
return false;
}
function save_passwd($file) {
$fp = fopen($file,'w');
foreach($users as $user => $pass) {
if($cvs[$user]) {
fputs($fp, "$user:$pass:".$cvs[$user]."\n");
} else {
fputs($fp, "$user:$pass\n");
}
}
fclose($fp);
}
/* Пример вызова */
// Считать файл (в массив $users)
read_passwd("./.htpasswd");
// Добавить пользователя (в массив)
addUser('pupkin','secret_pass','cvs_id_for_pupkin') or die ('Пользователь существует');
// Редактировать пользователя (в массиве)
modUser('pupkin','new_pass','new_cvs_id') or die ('Пользователь не существует');
// Удалить пользователя (из массива)
delUser('pupkin') or die ('Пользователь не существует');
// Редактировать пользователя (в массиве)
checkUser('pupkin','new_pass') or die ('Пароль неправильный или пользователя не существует');
// Сохранить измененный массив в файл
save_passwd('./.htpasswd');
// Вывести всех пользователей
foreach ($users as $key => $value) {
echo "User: $key; Pass: $value<br>\n";
}
?>[/code]
Обсудить в ФОРУМе - комментариев ()
Путь: Шпаргалки
Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
|
|