Forum forum.webPC.pl Strona Główna  
  forum.webPC.pl
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Grupy  Grupy
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Warning: preg_match_all(): No ending delimiter '#' found in /home/web5/domains/webpc.pl/public_html/forum/includes/bbcode.php on line 569 Warning: preg_replace(): No ending delimiter '#' found in /home/web5/domains/webpc.pl/public_html/forum/includes/bbcode.php on line 222
Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Zabezpieczenie logowania, jak?

Napisz nowy temat  Odpowiedz do tematu
 Zabezpieczenie logowania, jak? Zobacz poprzedni temat :: Zobacz następny temat --> 
Autor Wiadomość
lukluk123
PostWysłany: Wto Lis 11, 2008 4:41 pm    Temat postu: Zabezpieczenie logowania, jak? Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość
Admin
PostWysłany: Sro Lis 12, 2008 12:20 am    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
lukluk123
PostWysłany: Sro Lis 12, 2008 11:30 am    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat  Odpowiedz do tematu Strona 1 z 1

Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Zabezpieczenie logowania, jak?
Skocz do:  



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
 
 


DAJ Glass (1.0.5) template by Dustin Baccetti
EQ graphic based off of a design from www.freeclipart.nu
Powered by phpBB Š 2001, 2002 phpBB Group