![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem prosty system logowania oparty o sesje:
Skrypt sam w sobie działa... tylko mam pytanie czy jest "bezpieczny", czy nie da się go jakoś obejść albo coś zrobić lepiej ![]() ![]() -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Po 1. Przede wszystkim moim zdaniem system nie dziala,bo przeciez w funkcji checklogin() znienna user_array nie jest globalną
Po 2. ale to kwestia czasowa: po co ładować wszysktich userów, skoro można tylko jednego... Po 3. Używaj tablic superglobalnych zamiast session_* Po 4. System nie działa dlatego, że nie ma zmiennej $results zadeklarowanej - jest tylko zmienna $sql z rezultatami. (poczytaj troche manuala txtsql) Tak wiec nie ma co dyskutowac o bezpieczeństwie zanim sie nie poprawi systemu. -------------------- Michał Płachta
Warsztat: Mac OS X Leopard, PostgreSQL, Text Mate, Retrospectiva + SVN |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mi skrypt działa poprawnie, logowanie, wylogowanie itd.
Cytat Po 1. Przede wszystkim moim zdaniem system nie dziala,bo przeciez w funkcji checklogin() znienna user_array nie jest globalną a niby to to co? Kod global $login, $haslo, $user_array; Cytat Po 4. System nie działa dlatego, że nie ma zmiennej $results zadeklarowanej - jest tylko zmienna $sql z rezultatami. (poczytaj troche manuala txtsql) ![]() ![]() Kod $results= $sql->execute('select', co jest standardowym, nie skróconym wywołaniem danych Cytat Po 2. ale to kwestia czasowa: po co ładować wszysktich userów, skoro można tylko jednego... w sumie można dać ograniczenie w zapytaniu... -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Riklaunim:
http://pl2.php.net/manual/pl/ref.session.php Cytat Notatka: Od wersji php 4.1.0 dostępna jest globalna zmienna $_SESSION, podobnie jak $_POST, $_GET, $_REQUEST i tak dalej. W odróżnieniu od $HTTP_SESSION_VARS, $_SESSION jest zawsze globalna. W związku z tym global nie powinno być użyte do $_SESSION.
Użycie $_SESSION (lub $HTTP_SESSION_VARS dla wersji php 4.0.6 i starszych) jest wskazane ze względów bezpieczeństwa i czytelności kodu. Używając $_SESSION lub $HTTP_SESSION_VARS nie ma potrzeby używać funkcji session_register()/session_unregister()/session_is_registered(). Użytkownicy mogą uzyskiwać dostęp do zmiennych sesyjnych tak jak do normalnych zmiennych. -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:37 |