dj.drezyna Posted May 27, 2013 Report Share Posted May 27, 2013 Pomyślałem sobie, żeby sprawdzać przy każdym wykonaniu skryptu, jakie użytkownik ma uprawnienia. (zmieniają się powiedzmy, szybko i często) No i jak zrobić, żeby użytkownik tylko raz podał hasło i swój login, a potem system sam sprawdzał na podstawie użytkownika i hasła jakie ma uprawnienia. Ale chodzi mi tutaj w jaki sposób (czyli jakie i jak przetworzone) przechować dane w sesji. Bo jedną rzecz słyszałem, żeby hasło w sesji kodować np. crypt() ale pojawia się tu problem, że jeżeli ktoś odkryje wartość zmiennej sesyjnej przez włam, to taka wartość będzie mogła być wykorzystana za każdym razem i za każdym razem będzie mógł zmienną sesyjną ustawić na tą wartość i być jak gdyby zalogowany z pełnią praw. Jak zatem rozwiązać to by sprawdzanie uprawnień było w każdym wykonaniu skryptu jednocześnie bez konieczności podawania hasła, a jedynie korzystania z zapisanego w sesji? Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
xevil21 Posted May 27, 2013 Report Share Posted May 27, 2013 Cześć Nie rozumie w jakim celu chcesz trzymać w sesji hasło, przecież uprawnienia sprawdzasz po loginie lub id użytkownika? Jeżeli masz zalogowanego użytkownika to sprawdzasz uprawnienia przed każdą operacją, która tego wymaga. Ustawianie zmiennych sesji nic nie da, jeżeli odbierzesz użytkownikowi prawa. Pozdrawiam! Link to comment Share on other sites More sharing options...
Stelma Posted May 27, 2013 Report Share Posted May 27, 2013 Hej, Tak jak mówi xevil w sesji trzymaj tylko ID użytkownika, a np w bazie danych informacje o jego uprawnieniach. Wyciągasz tylko te uprawnienia które ci są potrzebne przy danym wywołaniu i wszystko bez kombinowania itp. W sesji nie wolno trzymać haseł ani nic czego wycieknięcie może spowodować utratę kotroli użytkownika nad kontem. Link to comment Share on other sites More sharing options...
dj.drezyna Posted May 27, 2013 Author Report Share Posted May 27, 2013 Dzięki! Nie pomyślałem, że hasło jest tylko dlatego, żeby użytkownik udowodnił, że ma prawo być zalogowanym. A więc jest to bardzo proste id i załatwione. Ale Jak jakaś zmienna sesyjna będzie miała wartość id to ktoś może sobie taką zmienną ustawić jak się włamie i mimo tego, że uprawnienia są pobierane za każdym wywołaniem skryptu to przecież będzie spełniał warunki zalogowanego. Tak? Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
Stelma Posted May 27, 2013 Report Share Posted May 27, 2013 Możesz dodawać różne wariacje zabezpieczeń np sprawdzać ciasteczko z jakąś zmienną sesyjną / sprawdzać adres ip / przeglądarkę itd. Link to comment Share on other sites More sharing options...
dj.drezyna Posted May 28, 2013 Author Report Share Posted May 28, 2013 Stelma - to rzeczywiście wyczerpuje temat. Dzięki Wam! Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link to comment Share on other sites More sharing options...
eurologo Posted September 4, 2013 Report Share Posted September 4, 2013 Poczytaj na temat funkcji session_regenerate_id(). Dodatkowo możesz pomyśleć o certyfikacie ssl. W sesji nie zapisujesz hasła tylko id użytkownika i za każdym razem sprawdzasz uprawnienia np. w bazie danych. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.