![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam jestem początkującym programistą php i powoli zaczynam planować Panel logowania zależy mi aby był dość bezpieczny dlatego zastanawiam się słyszałem że trzymanie danych w sesjach jest dość niebezpieczne i grozi włamaniem na strone dlatego zastanawiam sie czy jest inny sposób albo jak zabezpieczyć sesje tak aby można w nich było trzymać poufne dane
pozdrawiam i z niecierpliwością czekam na odpowiedź za pomoc z góry dziękuje -------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Znowu...?
A użyłeś chociaż raz wyszukiwarki? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
tak szukałem informacji na temat paneli logowania i sesji ale znalazłem tylko jakieś bzdety albo gotowe panele...
moja znajomość techniczna pozwala mi na zrobienie panelu logowania ale zastanawiam się co umieścić w sesjach ? na samym początku miałem taki pomysł w pliku index.php wpisujemy hasło i login w pliku logowanie.php sprawdzamy czy login jest w bazie i czy hasło sie zgadza jeśli tak to do sesji przypisujemy wartość np. 5 i przechodzimy do pliku zabezpieczone.php tutaj sprawdzamy wartość sesji jeśli to 5 to wyświetlamy strone ale z tego co przeczytałem w google taki sposób chyba nie jest bezpieczny i zastanawiam się nad alternatywą kombinuje już pare dni nad tym i powoli zaczynam się poddawać ;/ ![]() -------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Ja poznawałem sesje na tym artykule. A bezpieczeństwo zależy, jak z tego skorzystasz...
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
tak szukałem informacji na temat paneli logowania i sesji ale znalazłem tylko jakieś bzdety albo gotowe panele... moja znajomość techniczna pozwala mi na zrobienie panelu logowania ale zastanawiam się co umieścić w sesjach ? na samym początku miałem taki pomysł w pliku index.php wpisujemy hasło i login w pliku logowanie.php sprawdzamy czy login jest w bazie i czy hasło sie zgadza jeśli tak to do sesji przypisujemy wartość np. 5 i przechodzimy do pliku zabezpieczone.php tutaj sprawdzamy wartość sesji jeśli to 5 to wyświetlamy strone ale z tego co przeczytałem w google taki sposób chyba nie jest bezpieczny i zastanawiam się nad alternatywą kombinuje już pare dni nad tym i powoli zaczynam się poddawać ;/ ![]() Co ty za glupoty piszesz znalazles tylko jakies bzdety albo gotowe panele a co innego chcialbys znalesc jak szukac nie potrafisz: http://forum.php.pl/index.php?act=Search&a...te=%2Blogowanie Masz ponad 50 stron tematow bys tak ruszyl dupe poszukal pokazal co wykodziles powiedzial w czym masz dylemat to bysmy ci pomogli jest chyba 10 tematow dziennie na temat sesji,logowania,rejestracji i powoli sie to robi monotonne i nudne. Takze wez poszukaj i nie pisz glupot tam masz wszystko opisane razem z zabezpieczeniami jest zreszta pelno klas ktora widnieja na lamach strony ostatnio nawet ja jedna podawalem by zobaczyc czy jest good. Ten post edytował marcio 8.06.2009, 12:49:22 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 8 Dołączył: 30.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o logowanie, to wystarczą w zasadzie takie standardowe zabezpieczenia, które znajdziesz w skryptach na tym forum. W tej kwestii nie wymyślisz już niczego, czego nie było wcześniej, więc szukaj w odpowiednich tematach
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
dzięki panowie strona podana przez Kshyhoo rozjaśniła troche moją znajomość sesji mam jeszcze takie małe pytanie rozumiem że jest możliwość zobaczenia zawartości sesji natomiast dlatego nie powinno się tak umieszczać haseł itp. ale czy jest możliwość zmiany wartości sesji z zewnątrz ?
-------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Nom bawiac sie chodzby livehhtpheaders da rade sa tez inne sniffery/spoofery napewno.
Co do tego arta to go nawet nie czytaj spojrz na date 2002 rok uzywane php4 i teraz sesje inaczej dzialala sa bezpieczniejsze mozesz co najzyjwej poczytac z czym to sie je i tyle. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
no to zabieram się za analizowanie informacji na tym forum może coś znajde eh ;/
-------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
no to zabieram się za analizowanie informacji na tym forum może coś znajde eh ;/ Widac jakie masz checi nie ma to jak ktos daje gotowe na tacy prawda?? Niestety programowanie to takie hobby gdzie trzeba radzic sobie samemu jakos przynajmniej w dostatecznym stopniu i ruszac czesto makuwa tez trzeba. Ogolnie jest to najwieksze forum o php w PL takze wiesz..... Ten post edytował marcio 8.06.2009, 13:49:49 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ja dopiero ucze się o php widziałem posty gdzie ludzie poprostu pytali sie o jakiś kurs na temat sesji (na tym forum) i dostawali strony z kursami (gotowe na tacy) a ja pytając się o jakieś metody zabezpieczenia sesji czy też projektowania panelu logowania tak aby w sesjach nie były umieszczane kluczowe dane dostaje po głowie że mi się nie chce szukać chyba napisze skrypt tak jak myślałem wcześniej i się zapytam o metody zabezpieczenia go może wtedy ktoś mi pomoże...
-------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat a ja pytając się o jakieś metody zabezpieczenia sesji czy też projektowania panelu logowania tak aby w sesjach nie były umieszczane kluczowe dane dostaje po głowie że mi się nie chce szukać chyba napisze skrypt tak jak myślałem wcześniej i się zapytam o metody zabezpieczenia go może wtedy ktoś mi pomoże... Na to samo wychodzi w tych kursach zreszta sa opisane podstawowe zabezpieczenia to raz. A dwa jak napiszesz to chetnie pomoge. Trzy jak przy 60 stronach na temat logowania znalazles tylko linki do kursow to gratuluje...... -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
marcio prosze bardzo trzymam za słowo że teraz mi pomożesz
![]() strona.html
logowanie.php
zabezpieczona.php
Prosty skrypt logowania jak zrobić aby był bezpieczniejszy ? w tym przypadku jeśli ktoś zdoła zmienić wartość sesji user na zalogowany ma praktycznie nie ograniczony dostęp do "ukrytej" części strony... -------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
To zamien na:
Na to:
Bo byla zbedna petla while() i do tego glupio dane sprawdzales. Potem w sesji nigdy nie trzymaj poufnych danych jak haslo np. Haslo w bazie trzymaj zakodowane za pomoca md5()/sha1() polecam to drugie i przy porownywaniu dajesz:
A haslo w bazie danych jest zakodowane za pomoca md5(). Potem dawaj sobie zawsze sesje za jakims unikalnym kodem dla kazdego user'a u sprawdzaj czy kod z sesji zgadza sie z tym od user'a wtedy nawet jak bedzie chcial kombinowac z sesja to nic nie zdziala bo bedzie musial podac kod uzytkownika ktory jest losowy np taki:
I przy dodawaniu user'a do kulumny code wsadzasz wygenerowany ciag a przy logowaniu tworzysz dodatkowa sesje z tym ciagiem ktory wyciagniesz z bazy. A na stronie zabezpieczona.php robisz taK:
Cytat Prosty skrypt logowania jak zrobić aby był bezpieczniejszy ? w tym przypadku jeśli ktoś zdoła zmienić wartość sesji user na zalogowany ma praktycznie nie ograniczony dostęp do "ukrytej" części strony... Jak zrobisz tak jak ci powiedzialem to bez sql inj. chyba ze ty mu podasz code user'a nic nie zdziala. Oczywiscie poczytaj jeszcze od session fixation,hijacker etc ale mysle ze to zbedne bawienie sie sprawdzac ip,agent'a i referer'a Ten post edytował marcio 8.06.2009, 16:49:19 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 281 Pomógł: 3 Dołączył: 8.06.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
rozumiem że chciałeś abym ja sam trochę się pomęczył niż dostał gotowe rozwiązanie na tacy ale czy nie można było tak od razu ?
![]() Oczywiście wielkie dzięki za pomoc i poświęcony czas Studiuję ten twój kod i zastanawiam się nad nim on jest automatycznie generowany podczas rejestracji użytkownika i zapisywany do bazy czy podczas logowania użytkownika ? i rozumiem że po udanym zalogowaniu wczytujemy ten kod do zmiennej i potem już na zabezpieczonej stronie go porównujemy czy się zgadza z tym w bazie dobrze rozumiem ? a jeżeli tak to czy nie ma możliwości zobaczenia, przechwycenia go gdy znajduje się w sesji ? hmm -------------------- Cokolwiek zostanie upuszczone na uklad elektroniczny, spadnie zawsze tam gdzie wyrzadzi najwiecej szkody.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat Studiuję ten twój kod i zastanawiam się nad nim on jest automatycznie generowany podczas rejestracji użytkownika i zapisywany do bazy czy podczas logowania użytkownika ? i rozumiem że po udanym zalogowaniu wczytujemy ten kod do zmiennej i potem już na zabezpieczonej stronie go porównujemy czy się zgadza z tym w bazie dobrze rozumiem ? a jeżeli tak to czy nie ma możliwości zobaczenia, przechwycenia go gdy znajduje się w sesji ? hmm Ja to robie 1 przy rejestracji poniewaz nie mam danych z pentagonu na stronie jednak jesli chcesz miec wieksze bezpieczenstwo to dodaj pierwwszy kod user'owi podczac rejestracji a przy kazdym logowaniu jesli dane sie zgadzaja robisz update z nowym kodem. Po zalogowaniu kod wczytujesz do sesji kodujac go np glupim rot13 wtedy gdy ktos znajdzie nawet xss'a na twojej stronie moze sie nie domysli ze kod dodatkowo jest kodowany za pomoca rot13 rozumiesz a jak nie to trzymaj w jawnej postaci tylko staraj sie nie miec xss/csrf na stronie i wtedy bedzie good. POtem kod z sesji porownujesz z tym w bazie. Mozliwosc przechwycenia ma ale jesli zmieniasz kod user'a za kazdym logowaniem to h4xor bedzie sie cieszyl sesja do wylogowania i poten lipa do tego jesli masz mozliwsco zmiany hasla dla zalogowanego user'a to przez zmiana hasla pytaj o stare wtedy napastnik naprawde nic nie zdziala, nom prawie nic ![]() Jesli bedziesz robil to raz przy rejestracji wtedy jesli uzyska kod user'a to jest lipa ![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 8.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bardzo ciekawy temat, przeczytałem wszystko.
Pozwolę się dołączyć do tematu. Właśnie próbuję stworzyć przycisk wylogowania i zrobiłem to tak: dodatkowa linijka w pliku zabezpieczony.php :
cala zawartosc pliku wyloguj.php:
Niestety nie działa, wyświetla się napis, że zostałeś wylogowany, ale niestety po wejściu w plik zabezpieczony.php wszystko jest widoczne. Czy ktoś może mnie nakierować ? |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 2 Dołączył: 1.07.2009 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
sprawdź czy warunek na wylogowanie jest dobry czyli musisz wrzucić echo pod warunkiem a jak się nie wyświetli nick to znaczy że warunek masz źle
![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
try
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:03 |