![]() |
![]() |
-gosc_mufan- |
![]()
Post
#1
|
Goście ![]() |
Witam mam problem.Dopiero zaczynam zabawe z php a juz musze napisac system logowania oparty mysql. Czy moglby mi ktos pomoc dokladnie chodzi o to z na stronce sa miejsca na login i haslo i po kliknieciu na loguj powino sprawdzac czy taki user jest w bazie danych. Dziekuje za szybka odpowiedz:)
---------------------- Pozwoliłem sobie zmienić nazwę wątku : ) --- ~strife |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 1 Dołączył: 26.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
tym razem ja odkopię (IMG:style_emoticons/default/winksmiley.jpg) Jestem (php przedszkolakiem) w trakcie pisania systemu logowania www(php)->mysql. Podpieram się gotowcem http://phpsense.com/php/php-login-script.html. Zastanawia mnie jedna sprawa. 1) logowanie (u mnie) odbywa się na zasadzie sprawdzenia czy w tabeli 'uzytkownicy' danej bazy jest użytkownik wraz z hasłem podanym na stronie logowania 2) sprawdzenie to odbywa się dzięki połączeniu z bazą przy pomocy loginu i hasła wpisanego w "includowanym" ../../incledes/configu.php 3) po poprawnej weryfikacji z punktu 1 przypisujemy zmienne sesyjne itd Pytania do powyższego: 1) Czy to oznacza, że mimo iż przypiszemy login (podany w formularzu logowania i znaleziony w tabeli użytkowników) to i tak fizycznie działamy na koncie o którym mowa w pkt. 2? (ja tak właśnie to rozumiem) 2) Jeśli tak to czy takie rozwiązanie jest bezpieczne? - chodzi mi tu konkretnie o kwestię tego, że wszyscy tak naprawdę działają na jednym koncie fizycznie utworzonym na serwerze mysql, a ich "konta" z tabeli użytkownicy danej bazy są fikcyjnymi z punktu widzenia tegoż serwera. 3) Jeśli tak (pyt nr1) to czy tak to powinno profesjonalnie wyglądać i taka jest praktyka (jeden user + role dla kont tabeli uzytkownicy) czy też każdy użytkownik powinien mieć swoje faktyczne konto na serwerze mysql i poprzez jakiś panel administracyjny powinno się nadawać mu prawa do poszczególnych baz/tabel/kolumn itd. Proszę mnie poprawić jeśli się myle, ale w/g mnie to chyba lepsze rozwiązanie z jednym użytkownikiem. Sam generuję mu bardzo mocne hasło, nadaję najpotrzebniejsze prawa i nie martwię się tym, że jakiś user z trochę wyższymi uprawnieniami ustawił sobie hasło 'mama' do konta które jest fizycznie utworzonym na serwerze. Chyba, że moje założenie o niedostępności includowanego pliku jest błędne (IMG:style_emoticons/default/winksmiley.jpg) pozdrawiam i dziękuję za odpowiedź Dex19 Na pytanie 1 już chyba już sobie sam odpowiedziałem (IMG:style_emoticons/default/winksmiley.jpg) (IMG:style_emoticons/default/questionmark.gif) ? łącząc się z bazą za pomocą Kod (mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza)); wtedy przy użyciu zmiennych sesyjnych i mogę działać na loginie i haśle podanym przez usera (IMG:style_emoticons/default/winksmiley.jpg) pozostając w temacie bezpieczeństwa - które z poniższych rozwiązań jest właściwe? (o ile wogóle któreś jest (IMG:style_emoticons/default/winksmiley.jpg) ) Opcja pierwsza: 1) aplikacja przewiduje 3 role 2) tworzę 3 userów, którym grantem nadaję w bazie prawa do odpowiedniech operacji na poszczegolnych tabelach/kolumnach itd 3) przy logowaniu do systemu sprawdzam role usera i do bazy już loguję go przy użyciu wcześniej utworzonego w pkt 2 konta-roli Opcja druga: 1) Każdy user ma fizycznie utworzone konto na serwerze MySql 2) W tabeli uzytkownicy (bazy roboczej, nie serwera) przypisane są role i po stronie kodu, warunkami stworzony system dostępu na podstawie ról Opcja trzecia: 1) Jedno konto za pomoca którego cały czas łączę się z bazą 2) W tabeli uzytkownicy (bazy roboczej, nie serwera) przypisane są role i po stronie kodu, warunkami stworzony system dostępu na podstawie ról pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.09.2025 - 07:02 |