.htaccess — Ограниченные пользователи и пароли в. htpasswd и скрыть форму на сайте php

У меня есть секретная страница входа (useradmin.php), где пользователи могут добавлять и удалять пользователей, чтобы иметь доступ к другому секретному сайту (listmembers.php). Теперь я хочу запретить пользователям добавлять больше пользователей, чем 8, на сайт useradmin. Если есть 8 пользователей, то я хочу скрыть форму добавления на этой странице и показывать пользователям только сообщение, что для добавления другого пользователя им необходимо сначала удалить текущих пользователей.

Могу ли я сделать это в самом файле php, который не подключен к базе данных, или я должен сделать это в файле .htaccess или .htpasswd?

Вот php для useradmin.php

<?php

// list users

$filename = ".htpasswd";

if (!empty($_GET["usr"])) {
$usr = $_GET["usr"];
} else {
$usr = "";
}

if (!empty($_GET["pw"])) $pw = $_GET["pw"];

if (!empty($_GET["radera"])) {
$radera = $_GET["radera"];
} else {
$radera = 0;
}

echo "<h2>Administration av användare och lösenord</h2>";

if (strlen($usr)>2) {
//append new user to end of file
$handle = fopen($filename, "a");
$userdata = $usr.":";
$userdata = $userdata.crypt($pw)."\n";
fputs($handle,$userdata);
fclose($handle);
}

if ($radera>0) {
// Delete user
$rad = 1;

//read old file
$handle = fopen($filename, "r");
$buffer[$rad] = fgets($handle, 4096);

while (!feof($handle)) {
$rad++;
$buffer[$rad] = fgets($handle, 4096);
}

$maxrad = $rad;
fclose($handle);

//write back data from buffer exept deleted user
$handle = fopen($filename, "w");
$rad = 1;

while ($rad < $maxrad) {
if ($rad != $radera) {
fputs($handle,$buffer[$rad]);
}
$rad++;
}

fclose($handle);
}

//List users
$handle = fopen($filename, "r");
$rad = 1;

echo "<table border=1 >";

$buffer[$rad] = fgets($handle, 4096);

while (!feof($handle)) {
echo "<tr><td>";
$user[$rad] = substr($buffer[$rad], 0, strpos($buffer[$rad],":"));
echo $user[$rad];
echo "</td><td>";
echo "<a href=\"useradmin.php?radera=$rad\">RADERA</a>";
echo "</td></tr>";
$rad++;
$buffer[$rad] = fgets($handle, 4096);
}

echo "</table>";
fclose($handle);

// limit users to 8

?>

<h2>Lägg till ny användare</h2>

<h3 style="color:red">OBS! Antalet användare är begränsat till max 8!<br>Du måste ta bort en användare för att kunna lägga till en ny.</h3>

<FORM action="useradmin.php" method="GET" >

Login:    <input type=text name="usr"><br>

Lösenord: <input type="text" name="pw"><br>

<INPUT type=submit value="UPPDATERA">

</form>

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector