Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Użytkownicy w mysql i kilka problemow innych:/
chyzio
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 12.03.2006

Ostrzeżenie: (0%)
-----


Prosze o pomoc w kilku kwestiach, nie chce gotowych rozwiazan tylko schemat postepowania.

1) W bazie danych maja byc dwa typy uzytkownikow: "uzytkownik" i "administrator".
Czy powinny byc osobne skrypty dla uzytkownikow laczacych sie z baza jako "uzytkownik" i "administrator"?

2) Jak wykonac logowanie do panelu ktory bedzie zarzadzal baza?
Czy moga byc Ci sami uzytkownicy i hasla co w uzytkownicy w bazie danych?

3) Czy skrypt instalacyjny bazy danych moze byc wywolany z haslem root'a wpisanym w owy skrypt, czy lepiej zrobic formularz ktory przekaze dane do mysql?
Go to the top of the page
+Quote Post
babejsza
post
Post #2





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Ad. 1. Baza użytkowników powinna być jedna i zawierać pole np. level. W trakcie logowania zapisujesz dane usera do np. sesji, a dostępy do podstron sprawdzasz potem poprzez porównanie.

Ad. 2. Nie do końca rozumiem?

Ad. 3. Lepiej z formularzem. Co jeżeli hasło będzie inne niż 'root'?
Go to the top of the page
+Quote Post
noels
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Ad 2.

Logowanie do panelu administratora można zrealizować z wykorzystaniem tego samego formularza, którego wykorzystujesz do logowania dowolnego użytkownika. Ja wykonał bym to w następujący sposób:

1. Tworze w bazie danych tabele zawierajaca informacje o użytkownikach powiedzmy id_user, imie, nazwisko, login, haslo, typ_usera.

2. Tworze folmularz do logowania zawierajacy dwa pola login i haslo oraz przycisk zaloguj

3. Po nacisnieciu przycisku zaloguj dane z form wysylam do skryptu realizujacego proces logowania

4. W skrypcie wykonuje zapytanie do bazy pobierajace np: id_user oraz typ_usera gdzie jako warunki ustawiam haslo=$_POST['haslo'] and login=$_POST['login'] w wyniku tego zapytania zakładając ze loginy w bazie sa unikatowe zwrocony zostaje mi unikatowy identyfikator uzytkownika oraz jego typ (w przypadku blednej pary login-haslo zapytanie nie zwraca nic bo nie ma takiego uzytkownika lub jest zle haslo)

5. Na podstawie zwroconego typu uzytkownika rejestruje odpowiednie zmienne sesyjne np: id_user, typ_zalogowanego_uzytkownika

6. W zaleznosci od zwroconego typu wyswietlony zostaje np: link kierujacy do panelu admina (dla typu administrator) lub link kierujacy do strony dla zwyklych userow (dla typu zwyklego)

7. Dodatkowo przed wyswietleniem kazdej podstrony sprawdzam jaki jest aktualnie zalogowany typ uzytkownika co zapobiega otwarciu jakiejkolwiek podstrony po przez wklejenie zapamiatanego URL bez wczesniejszego zalogowania
Go to the top of the page
+Quote Post
sebik
post
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.01.2007

Ostrzeżenie: (0%)
-----


witam, zrobilbym podobnie jak noels z tym, że po co te menu z dwoma linkami (admin, user), przeciez w tabeli "uzytkownicy" mozna dodac pole (jak napisal babejsza) np. "level" , pole to okresla uprawnienia uztkownika (np. 1 - admin, 2 - zwykly user), przy logowaniu dodatkowo mozna zapisac w sesji poziom uprawnien, tak zeby nie trzeba bylo na kazdej stronie odwolywac sie do bazy zeby to sprawdzic, czyli na kazdej stronie sprawdzasz w zmiennych sesji czy uzytkownik jest zalogowany oraz jaki ma "level"
pozdrawiam
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Prosze uzupelnic tytul topika o odpowiedni tag ( szczegoly )

Inaczej topik zostanie zamkniety.
Go to the top of the page
+Quote Post
chyzio
post
Post #6





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 12.03.2006

Ostrzeżenie: (0%)
-----


Odpowiedni tag? Ale nie ma przycisku "pseudokod"

Dziekuje wszystkim za wypowiedzi przemysle to jeszcze ale chyba zastosuje sesyjne zmienne w ktorych beda informacje o zalogowaniu i poziomie uprawnien.


Mam jeszcze jedno pytanie: skrypt_1.php zawiera formularz dane sa przesylane do skrypt_2.php z tym ze wszystko musi sie otwierac w jednym okienku wiec uzylem funkcji
  1. <?php
  2. include('skrypt_2.php');
  3. ?>




skrypt_2.php sprawdza dane zanim zapisze je do bazy danych.

Problem w tym ze zaraz po otwarciu skrypt_1.php nastepuej sprawdzenie danych ktore dopiero za chwile zostana wprowadzone.

Jendym slowem chce zeby dane byly sprawdzane dopiero po 2 wywolaniu skryptu (czyli dopiero po przeslaniu ic z formularza)

Ten post edytował chyzio 20.01.2007, 16:02:32
Go to the top of the page
+Quote Post
Amorph
post
Post #7





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if($_GET['a']=='check'){
  3. include('skrypt_2.php');
  4. }
  5. ?>

i w formularzu:
  1. <form action='skrypt_1.php?a=check' method='post'>
Go to the top of the page
+Quote Post
chyzio
post
Post #8





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 12.03.2006

Ostrzeżenie: (0%)
-----


A czy jest jakas funkcja ktora wylacza wlaczony plik za pomoca funkcji
  1. <?php
  2. include()
  3. ?>
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Mniej wiecej ma to byc tak: wyswietla sie formularz gdy wprowadzono bledne dane wyswietla sie okienko (formularz z napisem poopraw) po kliknieciu na popraw wracamy do formularza

Ten post edytował chyzio 20.01.2007, 20:01:32
Go to the top of the page
+Quote Post
Amorph
post
Post #9





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


check.php>sprawdza formularz
form.php>formularz
index.php>wszystko razem

i w index:
  1. <?php
  2. if($_GET['a']=='check){
  3. include('check.php');
  4. }
  5. if($_GET['a']!='check'){
  6. include('form.php');
  7. }
  8. ?>

Powinno zadziałać tak jak chcesz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
chyzio
post
Post #10





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 12.03.2006

Ostrzeżenie: (0%)
-----


Jeszcze takie pytanie na ile bezpieczny jest taki sposob autoryzacji, uzytkownik i haslo trzymane w bazie jesli poda poprawne dane rejestracja zmienej sesyjnej login i teraz czy wystarczy takie sprawdzenie na kazdej stronie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
  1. <?php
  2. if (isset($_SESSION['Login'])){
  3. include(costam.php);
  4. }else echo'Nie masz dostepu !';
  5. ?>


Ten post edytował chyzio 27.01.2007, 16:04:44
Go to the top of the page
+Quote Post
noels
post
Post #11





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 16.01.2007
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Wiesz, ja myśle, że to wszystko zależy do czego chcesz chronić dostęp pewnie istnieją dużo lepsze sposoby trzeba jednak odpowiedzieć sobie na pytanie czy to co chronisz jest na tyle ważne aby je stosować.

Jeżeli zacząć by się zagłębiać to można powiedzieć że kolejnym krokiem w zabezpieczaniu może być np: SSL (szyfrowane połączenie) dlatego żeby hasła, loginy i inne dane były szyfrowane aby nie można było ich przechwycić w drodze od przeglądarki do serwera

Można także przechowywać hasła w bazie danych w postaci zaszyfrowanej np: funkcją skrótu SHA1 lub MD5

wiele jest możliwości zabezpieczeń, wszystko zależy jak bardzo chcesz chronić swoje dane.
Go to the top of the page
+Quote Post
chyzio
post
Post #12





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 12.03.2006

Ostrzeżenie: (0%)
-----


Hasla sa wybierane z bazy danych w bazie przechowywane sa kryptograficznie zaszyfrowane algorytmem SHA1. Chodzi mi o takie sprawdzanie, na ile jest bezpieczne?

Ten post edytował chyzio 31.01.2007, 17:53:57
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.09.2025 - 17:31