Witam. Napisałem taki oto sobie system logowania i chciałem zasięgnąć opinii czy jest on w miarę bezpieczny. Mam tabelę Hasła z polami login, hasło,status (admin lub student), idsesji. Podczas logowania do tabeli zapisywany jest unikatowy Idsesji.
Plik authconfig.php
<?php
function connect_DB()
{
mysql_connect(\"xxxx\", \"xxxxxxxx\", \"xxxx\") or die (\"Nie połączono z serwerem!\"); };
function check_ID($ID)
{
$sql = \"SELECT login FROM hasla WHERE Idsesji='$ID'\";
return $num;
};
?>
Plik login.php
<?php
include_once(\"authconfig.php\");
connect_DB();
$sql = \"SELECT login, haslo FROM hasla WHERE login='$login' AND haslo='$pass'\";
if ($num == 1)
{
$sql = \"UPDATE hasla SET Idsesji = \"$idsesji\" WHERE login='$login' AND haslo='$pass'\";
$sql_result = mysql_query($sql) or
die (\"NIE wykonano zapytania\"); $stat = \"Select status from hasla where login='$login' and haslo='$pass'\";
$stat_result = mysql_query($stat) or
die (\"NIE wykonano zapytania\");
{
$status = $row[\"status\"];
}
if ($status == 'pracownik') {
header(\"Location: dziekanat/index.php?PHPSESSIONID=$idsesji\"); } else if ($status == 'student') {
header(\"Location: student/index.php?PHPSESSIONID=$idsesji\"); }; } else if ($num == \"0\")
{
header(\"Location: indexbl.php\"); };
?>
Plik index.php
<?php
include_once(\"../authconfig.php\");
connect_DB();
$numrows = check_ID($PHPSESSIONID);
if ($numrows == 1) {
} else {
}
?>
i dalej w tym pliku
<a href="index2.php?PHPSESSIONID=<? echo $PHPSESSIONID; ?> " >LINK DO PODSTRONY
</a>
plik index2.php
<?php
include_once(\"../authconfig.php\");
connect_DB();
$numrows = check_ID($PHPSESSIONID);
if ($numrows == 1) {
echo ' ZALOGOWANY - ADMIN'; } else {
}
?>
na
tej stronie można to wypróbować.
login admina: admin hasło: dziekanat
login studenta: 1234 hasło: qwerty
Będę wdzięczny za wszelką krytykę i propozycje ulepszenia.