У меня есть сценарий входа, который не использует SQL, потому что сервер не разрешает его. Как я могу запретить пользователям регистрироваться в одной учетной записи с разных компьютеров/браузеров? Я пробовал решения, которые я нашел здесь, в stackoverflow, но никто из них не работал. Вот мой PHP:запретить двум пользователям входить в ту же учетную запись
<?php
session_start();
define('DS', TRUE); // used to protect includes
define('USERNAME', $_SESSION['username']);
define('SELF', $_SERVER['PHP_SELF']);
if (!USERNAME or isset($_GET['logout']))
include('login.php');
// everything below will show after correct login
echo ' <p>Te-ai conectat ca ';
echo $_SESSION['username'];
echo '</p>
<p><a href="?logout=1">Inchidere sesiune</a></p>
<tr><td> <br> </td></tr>
<table style="width: 80%;">
<tbody>
<tr style="height: 23px;">
<td style="width: 27%; height: 23px;"> Canal 1 si 2 10s</td>
<td style="width: 18.7131%; height: 23px;"><audio controls="controls" preload="none"><source src="http://t22sys.noip.me:9300/;stream.mp3" type="audio/mp3">Your browser does not support the audio element.</audio></td>
<td style="width: 27%; height: 23px;"> <a href="http://t22sys.noip.me:9300/listen.pls" style="color:black"><button type="button">Asculta in player extern</button></a></td>
</tr>
</tbody>
</table>
<br>
';
?>
Войти PHP выглядит следующим образом:
<?php defined('DS') OR die('No direct access allowed.');
$users = array(
'user'=>'pass',
);
if(isset($_GET['logout'])) {
$_SESSION['username'] = '';
header('Location: ' . $_SERVER['PHP_SELF']);
}
if(isset($_POST['username']))
{
if($users[$_POST['username']] !== NULL && $users[$_POST['username']] == $_POST['password'])
{
$_SESSION['username'] = $_POST['username'];
header('Location: ' . $_SERVER['PHP_SELF']);
}
else
{
echo "<p>Eroare la autentificare</p>";
}
}
echo '<form method="post" action="'.SELF.'">
<p>Autentificare membrii (Canal 1 si 2 fara delay, 128kbps)</p>
<p><label for="username">Utilizator:</label> <input type="text" id="username" name="username" value="" /></p>
<p><label for="password"> Parola:</label> <input type="password" id="password" name="password" value="" /></p>
<p><input type="submit" name="submit" value="Autentificare" class="button"/></p>
</form>';
exit;
?>
этот код не делает много смысла, люди если зарегистрированное имя пользователя соответствует имени пользователя сеанса. но как имя пользователя вошло в первую очередь на сеанс? –
Если вам нужны пользовательские сессии и вы не можете использовать базы данных, у вас будет плохое время :) – Max
Файловые сеансы по-прежнему стандартны @Max –