witam
Napisałem sobie skrypt, który dokonuje autentykacji. Skrypt porównuje login i hasło które są zawarte w bazie danych następnie danego urzytkownika przekierowywuje na daną stronę.
oto skrypt cały:
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
BODY { font-family : Times New Roman; font-size: 16pt; COLOR: #000000}
TD { font-family : Verdana; }
A { text-decoration : none}
A:link {COLOR: #006699; TEXT-DECORATION: none}
A:visited {COLOR: #006699; TEXT-DECORATION: none}
A:active {COLOR: #006699; TEXT-DECORATION: none}
A:hover {COLOR: #00FF00; TEXT-DECORATION: none}
<!--
body {
BACKGROUND: #FFFFF3;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
<LINK REL="SHORTCUT ICON" href="ikona.jpg">
<form action="index.php" method="post">
<input type="submit" value="Zaloguj" >
<?
if ($loginf=="" and $haslof=="")
{
echo "<br><br>";
echo "
<font color = 'red' size = '5'>Uzupełnij pole Login i Hasło
</font>";
}
else
{
if ($loginf=="" )
{
echo "
<font color = 'red' size = '5'>Uzupełnij pole Login
</font>";
}
else
{
if ($haslof=="" )
{
echo "
<font color = 'red' size = '5'>Uzupełnij pole Hasło
</font>";
}}}
if ($loginf and $haslof != "")
{
$baza = "user";
$tabela = "klienci";
$connection = @mysql_connect("localhost", root, "krasnal") or die ("Blad logowania na serwer mysql");
$wybierz = mysql_select_db($baza, $connection) or die ("Podana baza nie istnieje");
$pokaz = "select login, haslo from klienci where login like\"$loginf\" and haslo like\"$haslof\"";
$sprawdz = mysql_query($pokaz, $connection) or die ("Blad !");
$wiersz = mysql_fetch_array($sprawdz);
$val1 = $wiersz['login'];
$val2 = $wiersz['haslo'];
if ($val1 == $loginf and $val2 == $haslof)
{
if ($val1 == aaa)
{
echo "
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://localhost/test/user1.php\">";
}
if ($val1 == ccc)
{
echo "
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=http://localhost/test/user2.php\">";
}}
else
{
echo "
<font color = 'red' size = '5'><center>Logowanie nie powiodło się, sprawdź Login i Hasło
</center></font>";
}}
?>
Skrypt działa tak jak trzeba, ale jest jeden problem (IMG:
http://forum.php.pl/style_emoticons/default/mad.gif) mianowicie po udanej autentykacji użytkownik jest przekierowywany na strone np:
http://localhost/test/user1.php i wszystko ok ale następnym razem może ktoś może wpisać do przeglądarki link
http://localhost/test/user1.php i znajdzie się na stronie bez logowania (IMG:
http://forum.php.pl/style_emoticons/default/ohmy.gif)
oczywiście początek
http://localhost/ podałem dla przykładu
Jak zabezpieczyć coś takiego aby dostęp do strony np:
http://localhost/test/user1.php był dostępny tylko przez przejście przez logowanie (IMG:
http://forum.php.pl/style_emoticons/default/questionmark.gif)
z góry dzięki
pozdrawiam Daniel