|
|
|
|
|
|
|
|
forum.webPC.pl
|
|
|
|
Rejestracja ::
Zaloguj
|
Zaloguj się, by sprawdzić wiadomości
|
|
|
|
Zabezpieczenie logowania, jak? |
> Zobacz poprzedni temat :: Zobacz następny temat --> |
Autor |
Wiadomość
|
lukluk123 |
Wysłany: Wto Lis 11, 2008 4:41 pm Temat postu: Zabezpieczenie logowania, jak? |
|
|
Nowy
Dołączył: 11 Lis 2008 Posty: 2 Skąd: Bydgoszcz
|
Witam,
chce stworzyc system logowania PHP + MYSQL.
Bedzie on zrobiony typowo:
Formularz logowania: login + pass -> skrypt logujacy do bazy, sprawdzajacy czy login i password istnieja w bazie, sprawdza prawa, czy uzytkownikiem jest admin czy nie.
Przez sesje bedzie przenoszona informacja o uzytkowniku i jego prawach, przed zaladowaniem kazdej strony bedzie sprawdzane czy jest zalogowany (przez sprawdzenie zmiennej sesyjnej) i tak samo spr cyz to admin cyz nie....
1. Formularz -typowy w HTML'u przez POST.
2. Sprawdzanie danych:
Kod: |
<?php
session_start();
?>
-------TU NAGLOWKI STRONY, STYLE, BODY, ITP------------
<?php
$log=$_POST["login"])
$pass=md5($_POST["passs"]);
$sql=mysql_connect("localhost","xyz","abc");
$baza=mysql_select_db("xxx");
$zapytanie = "SELECT * FROM klienci WHERE login LIKE '$log'";
$wykonaj = mysql_query($zapytanie);
$wiersz = mysql_fetch_array($wykonaj);
$log=$_POST["login"])
$pass=md5($_POST["passs"]);
if($wiersz[13]==$log and $wiersz[14]==$pass)
{
print("<br>Dane poprawne. <a href=\"panel.php\"> WEJDŹ DO PANELU</a>");
$_SESSION['zalogowany']=$log;
}
else
{die("<bR>Błędne dane !");}
?>
|
3. Skrypt uwierzytrlniajacy przed kazda podstrona
Kod: |
<?php
session_start();
if(!$_SESSION['zalogowany']) {die("Błąd z uwierzytelnianiem.");}
?>
-------ZAWARTOPSC STRONY--------- HEAD , BODY ITP.....
|
I tu pytania:
1. Czy jest on bezpieczny ?
2. Jak zakodowac dane z formularza zeby nie mogly byc podsluchane ?
przydałby sie SSL ale narazie nie che wykupowac go.
Pozdrawiam, Łukasz |
|
Powrót do góry |
|
|
Admin |
Wysłany: Sro Lis 12, 2008 12:20 am Temat postu: |
|
|
Admin strony i forum
Dołączył: 17 Kwi 2005 Posty: 708 Skąd: Reda
|
Pyt. 1. Czy jest on bezpieczny ?
Odp. Nie jest bezpieczny. Brakuje filtracji danych wprowadzanych przez usera. Chodzi m.in. o zapobieganie przed SQL Injection (poczytaj na google o tym). Filtruj WSZYSTKIE dane.
Tak na szybko przykład:
$login = htmlspecialchars(strip_tags(trim(addslashes(nl2br($_POST['login'])))));
Pyt. 2.Jak zakodowac dane z formularza zeby nie mogly byc podsluchane ?
Odp. Jak ktoś sie rejestruje to w bazie przechowuj jego hasło zakodowane w md5.
Jak ktos się loguje, najpierw zamień hasło na md5, a potem porównuj z danymi w bazie.
Możesz to samo spróbować z loginem, jednak w razie czego mogą byc problemy (jak ktoś zapomni itd).
EDIT: widzę, że masz jednak md5. Zastanawiałem się jednak nad podwójnym kodowaniem md5. Jednak nigdy nie testowałem. |
|
Powrót do góry |
|
|
lukluk123 |
Wysłany: Sro Lis 12, 2008 11:30 am Temat postu: |
|
|
Nowy
Dołączył: 11 Lis 2008 Posty: 2 Skąd: Bydgoszcz
|
Witam,
Hm..; Md5 to jakies zabezpieczenie, takie ze ktos nie bpozna hasla, ale jak podslucha sygnal czy tam dane wysylane z formularza na strone to pozna to haslo i dlatego mysle jak tu zabezpieczyc.... podwojne hashowanie md5 dziala bo stosowalem je wczesniej, do tego mozna dac jeszcze jakis prosty klucz np dodac 3 znaki, przestawic 5 z 7 itp....
i faktycznie, filtorweanie danych.... to tak musze wprowadzic. |
|
Powrót do góry |
|
|
|
|
|
|
Strona 1 z 1 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|
|
|
|
|
|
|
|
|
|