![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam. Oto mój kod związany z systemem sesji ma na mojej stronie. Chodzi tu o przechowywanie zmiennej z identyfikatorem użytkownika oraz czasem, po którym sesja wygasa:
Czy kod jest w miarę optymalny? Czy coś w nim trzeba zmienic? Jak narazie działa ale wydaje mi się ze jest trochę za długi i że ma jakieś błędy... Czy mam rację? Czy można go jakoś bardziej zoptymalizować czy jest ok? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie straszna sieka w kodzie, a jak ktoś pisze, że $_SERVER['REMOTE_ADDR'] jest jakimkolwiek zabezpieczeniem, to... zostawię to bez komentarza. Nie ma tu czego oceniać, gdyż skrypt w ogóle nie jest napisany w taki sposób, aby można byłoby się nim podzielić (brak jakiejkolwiek parametryzacji czy możliwości "zcustomizowania").
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
jak ktoś pisze, że $_SERVER['REMOTE_ADDR'] jest jakimkolwiek zabezpieczeniem, to... zostawię to bez komentarza. Czyli że można to wywalić? P.S. Nie piszę wcale tego kodu, aby się z kimś dzielić ale do moich indywidualnych potrzeb pod stronę. Zdaję sobie sprawę, że nie jest on zbyt "optymalny" jeśli można to tak nazwać.. Ale właśnie dlatego napisałem ten temat żebyście mi doradzili co tam można by zmienić czy coś... Ten post edytował klapaucius 6.10.2011, 15:08:28 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może nie aż tak, że od razu wywalić. Ogólnie kod szału nie robi, a i też niewiele z bezpieczeństwa sobą reprezentuje. Oczywiście na potrzeby własne i treningowo można takie skrypciki pisać. Trudno jest mówić o optymalizacji skryptu, który nie wykonuje żadnych zaawansowanych operacji (brak algorytmu) i objętościowo zajmuje około trzydziestu linii kodu.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem. W każdym bądź razie żadnych konkretnych błędów w nich nie ma i ogólnie powinien jako tako działać poprawnie? Oczywiście zdaję sobie sprawę, że nie ma on żadnych zabezpieczeń itp. ale on będzie działał pod moją pierwszą, w miarę prostą stronkę. Poza tym dopiero się uczę i nie znam żadnych zaawansowanych technik z zabezpieczaniem systemu sesji...
A jeszcze jedno... Co np. grozi mi poprzez używanie takiego kodu. Czy coś poważnego taki pseudo-haker może uczynić na mojej stronie? Oczywiście chodzi mi tu dokładnie o sesje. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może np. sfałszować wartość $_SERVER['REMOTE_ADDR'] i podszyć się pod kogoś z zupełnie innym adresem ip, poczytaj o session fixation
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 6.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Troszke nie po naszemu. Znaczy tak do zabawy może być tylko po co? Masz tu linka do naprawde fajnej klasy sesji:
http://www.richardcastera.com/projects/php5-session-class wraz z instrukcją obsługi. Takie pytanie: po co Ci ten kod sesji? Co on ma chronić? Jak logujesz użytkownika? Jakie ma prawa? Pisz obiektowo. PHP podobno jest bardziej obiektowy niż sama obiektowość? Można gdzieś zobaczyć tą stronę, którą tworzysz? Tworzysz aplikacje? Przyjrzyj się jak się tworzy proste CMS-y: http://buup.mephir.com/read/create-your-ow...ysql-cms-part-i http://buup.mephir.com/read/create-your-ow...sql-cms-part-ii Ewenetualny hacker co może zrobić? Pokaż pełny kod stronki, i zaraz zobaczymy. (IMG:style_emoticons/default/smile.gif) Życzymy powodzenia i dużo cierpliwości. Pamiętaj, nie wyważaj otwartych drzwi, nie ma to sensu raczej. Z poważaniem Zespół rotflonline.pl Ten post edytował Daiquiri 6.10.2011, 19:48:45
Powód edycji: [Daiquiri]: Usuwam link
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 223 Pomógł: 3 Dołączył: 4.07.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mój system logowania jest bardzo prosty i wygląda nastepująco:
Oczywiście pewnie dostanę teraz ochrzan, że to jest "jedna wielka dziura", bardzo prosta do złamania... (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
jest az za prosty, powinienes hashowac hasla uzytkownikow trzymane w bazie
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kod, który podałeś jest podatny na atak Sql Injection. //edit: m.in. na tego typu ataki, poczytaj o sql injection przynajmniej na wikipedii (nie mam czasu szukać za ciebie, jes bardzo dużo bardzo dobrych artykułów na ten temat, wystarczy poszukać)., zapytaniach preintepretowanych i ogólnie korzystaj z PDO i nigdy, przenigdy nie ufaj danym pochodzącym bezpośrednio od użytkownika (wstawiasz dane z post bezpośrednio do zapytania sql, które wykonujesz).
Ten post edytował darko 7.10.2011, 23:00:01 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 00:07 |