![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 6 Dołączył: 26.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jest bardzo kiepski w zabezpieczeniach ale osoba która to napisała najwidoczniej jeszcze bardziej niż ja.
Obecnie skrypt który posiadam ustawia cookies po zalogowaniu w następujący sposób:
Gdzie Cookies w debugu wygląda następująco: Problem w tym że wystarczy abym zmienił swoje ID w cookie na jakiegoś innego usera ID i mam pełny dostęp do jego danych. Podaje przykład obecnego działania zabezpieczenia if (isset($_COOKIE["user"]))
Próbowałem jeszcze aby również sprawdzano hasło w sposób typu : Niestety bez rezultatu...Mogę na stronce manipulować w cookies każdym ID usera i przez to mieszać im w profilach bez problemowo. Ale niestety nie potrafię zabezpieczyć się przed tym aby nikt inny tego w tak prosty sposób robił. Za wszelkie sugestie oraz pomoc z góry dziękuje. Ten post edytował Soulast 28.06.2010, 14:02:25 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
SESJA jest odpowiedzią na wszystko.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 6 Dołączył: 26.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli?
Zastąpienie kompletnie cookies sesją?czy może się da jakoś sesje dodać do powyższego kodu? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Zastąpienie cookies sesją. I nie musisz w niej przechowywać loginu i hasła użytkownika a jedynie jego ID.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 3 Dołączył: 7.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
A teraz zrób sobie backupa bazy, otwórz cookies przeglądarki i ustaw sobie następującą wartość 'tid': Cytat '; UPDATE `members` SET `password` = 'nie umiem zabezpieczyć swoich skryptów' WHERE 1 = 1; -- A potem poczytaj do czego służy funkcja mysql_real_escape_string() i naucz się jej używać! |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 6 Dołączył: 26.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czemu ale sporo pomocników w przedszkolu łapie agresje i rzuca klockami
![]() Zanim hasło oraz tid zostało wrzucone do cookies przemieliłem to przez md5 oraz obecnie użyłem funkcji or die() co daje dobry rezultat jak i randomową wartość sid również zakodowaną.W skrócie mówiąc jeśli id, sid, pass, name które znajdują się w cookies nie będzie równe tym co są w cookies funkcja automatycznie wylogowuje takiego usera. Również dodałem kod zabezpieczający przed atakami z pod url ale to już inna bajka. Anyway sprawę rozwiązałem więc proszę o zamknięcie posta czy tam jego usunięcie. Ten post edytował Soulast 29.06.2010, 11:09:28 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, zrobiłem logowanie na ciachach i mam identyczny problem jak w tym temacie dlatego postanowiłem tutaj odgrzać...
Jak to zabezpieczyć? chce mieć "zapamiętaj mnie" przy logowaniu, gdzie wtedy w cookiesa wrzucam czas ciacha na 24h i sprawdzam sobie np. w sekcji dla zalogowanych: if (isset($cookie)) { // dla zalogowanego } else { // niezalogowany } czy takie coś jest ok? w ciachu trzymam tylko login usera i wartość zalogowany_user 1 lub 0 jeśli niezalogowany. Ten post edytował d.stp 26.09.2016, 10:21:20 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat w ciachu trzymam tylko login usera i wartość zalogowany_user 1 lub 0 jeśli niezalogowany. No przeciez kazdy moze bez problemu ustawic sobie takie ciacho i oh ech bedzie widzial tresc dla zalogowanego usera.... Czemu nie zrobisz tego normalnie na sesjach tylko kombinujesz bez sensu? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Bo chce mieć sesje na jeden dzień, a nie że co zamknięcie przeglądarki musze się znowu logować...
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to zamiast trzymac login usera, trzymaj jakis tajny ciag wygenerowany dla danego usera i z jego IP i z czasem i zapisuj to do bazy oraz ustawiaj w ciachu. Gdy koles wejdzie z takim ciachem to sprawdzasz jaki user ma w bazie taki tajny ciag. Bedzie to o niebo bezpieczniejsze od tego co masz teraz
ps: cos takiego $tajnyCiag = md5($userId . $userIp . $userBrowser . time()); gdzie $userIp i $userBrowser wyciagniesz z $_SERVER ps2: zeby bylo jeszcze bezpieczniej to ustaw waznosc dla tego na 1 dzien. W bazie rzecz jasna a nie w ciachu ps3: mozesz tez trzymac info z jakiego IP zostal utworzony ten tajny ciag i sprawdzac rowniez czy IP osoby z tym ciachem zgadza sie z IP zapisanym w bazie. Wowczas nawet jak haker wykranie to ciacho, to nie bedzie sie zgadzalo IP -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dobra czyli przy logowaniu ustawiam sobie:
$tajny_ciag = md5('n'.time().'o'.time().'s'.time().'p'.time().'o'.time().'r'); setcookie('tajny_ciag ', $tajny_ciag, time()+3600*24); // update ciacho where user = user_login i gra gitara. Teraz gdzieś w indexie wrzucam:
jak w bazie mam ustawić ważność? ![]() Ten post edytował d.stp 26.09.2016, 11:00:46 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Taki mechanizm ma swoją nazwę/nazwy: "Persistent login", "Remember me"
https://paragonie.com/blog/2015/04/secure-a...erm-persistence Ten post edytował redeemer 26.09.2016, 11:02:46 -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat jak w bazie mam ustawić ważność? Dodaj poprostu kolejne pole z data utworzenia tego tajnego ciagu i sprawdzaj czy nie jest starsze niz jeden dzien. Tak samo utworz dodatkowe pole IP z ktorego utworzono ten tajny ciag. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
OK, czyli jak się zaloguje ponownie już na tym tajnym_ciagu ALBO odświeże strone jak jestem zalogowany to robie jeszcze update waznosc_tajnego_ciagu = nowa_waznosc. O to chodzi?
Tajny ciąg to moge zrobić tak jak hasła? solą itp?? |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak i tak.
A jako sol to rownie dobrze beda sluzyc dane user jak IP, browser czy time co ci podalem. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 0 Dołączył: 19.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
No ale prawda jest taka że jakbym dał dał 12381723812371237 stringa to i tak to nie jest bezpieczne gdyż ponieważ uważam iż, że skoro ktoś przejmie takie ciacho to i tak sie zaloguje, a wprowadzanie IP tylko uprzykrzy życie bo wiele osób ma zmienne IP więc z tego będą problemy
![]() |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
@d.stp nikt dziś nie buduje mechanizmów sesji opartych o IP, @nospor najwyraźniej ma sentyment do lat 90tych
![]() -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat @nospor najwyraźniej ma sentyment do lat 90tych ![]() Starzy ludzie maja swoje przyzwyczajenia ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Stary człowiek i może
![]() |
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
I to nie jest mechanizm sesji a mechanizm "Remember me "
![]() @Pyton Stary czlowiek tez moze ![]() Cytat wprowadzanie IP tylko uprzykrzy życie bo wiele osób ma zmienne IP więc z tego będą problem to zamiast IP wprowadz BROWSER. zawsze to cosCytat kurde, musiałbyś mieć spore braki w filtrowaniu zmiennych przesyłanych od użytkownika, żeby wstrzyknąć kod który odczyta taki klucz należący do innego użytkownika Tja.... Nasz bohater w ciachu na poczatku trzymal login usera wiec wiesz ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.07.2025 - 12:29 |