![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 12.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym zasięgnąć opini na temat bezpieczeństwa i funkcjonalności takiego systemu, może ktoś mi poda argumenty świadczące na niekorzyść - tak więc zaczynamy:
Otóż tworząc system postanowiłem zrobić coś nowego i wszystkie linki wymagające generowania urla ze zmiennymi zrobiłem przy pomocy input=submit. Tak więc pokażę na przykładzie aby było jasne: 1. Klient się loguje (formularz) 2. Po zalogowaniu pokazuje mu się panel administracyjny, ale kolejne linki nie jako index.php?id=xxx&pg=konfiguracja&.... tylko jako kolejny submit. Jako, że url w pasku adresu wymaga, dajmy na to, przekazania loginu i hasła (wiem, ze tak się nie robi, to tylko przykład), to aby submit przekazał hasło wpisuję: <form method=POST action=index.php> <input type=hidden value=$login name=login> <input type=hidden value=$login name=login> <input type=submit value=1 name=konfiguracja> <input type=submit value=1 name=wpisuj_news> <form> I taki wpis zastępuje index.php?login=xxx&pass=xxx&pg=konfiguracja i index.php?login=xxx&pass=xxx&pg=dodaj_news W częście kodu natiomiast jest taki fragment:
W każdym z modółów może również być nieskończona ilość takich samych przekierowań, za każdym razem przesyłając przez formularz do pliku index.php potrzebne dane, aby po kolejnym otwarciu strony przez formularz (action=index.php) interpreter przeszedł do odpowiedniej części kodu. Inaczej mówiąc, za każdym odświeżeniem strony przez formularz muszą zostać przesłane wszystkie do tej pory wpisane dane. Tak więc: po zalogowaniu się, przyciski w panelu administracyjnym muszą zawierać ukryte hasło, login i mieć ustawiony przycisk "Loguj". Kiedy wejdziemy np. do menu konfiguracja, to wszystkie podmenu konfoguracji muszą mieć przekazane przez pole hidden: login, hasło, ustawiony przycisk Login i ustawiony przycisk Konfuguracja. Itd.. Tak więc dzięki takiemu rozwiązaniu powstaje system bez konieczności użycia paska adresów do przekazywania danych, gdyż wszystkie zmienne są przekazywane w głąb przez pole 'hidden'. Wydaje mi się, że to bardzo ułatwia stworzenie dowolnie dużego systemu nawet w jednym pliku (pomijając potocznie przyjęte ograniczenia objętości dla plików internetowych). Co o takim systemie myślicie? Edit: chodzi mi oczywiście o wykorzystanie tego do przekazywania zmiennych, których osoby postronne nie powinny znać Ten post edytował hao 12.12.2004, 16:32:43 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 9.05.2004 Skąd: Puszów Ostrzeżenie: (0%) ![]() ![]() |
Nie wydaje mi się, żeby przesyłanie jakichkolwiek danych użytkownika/administratora (login, hasła itp.) w ukrytych inputach było bezpieczne. jeśli już, to można hasło szyfrować (md5, sha1)(http://forum.php.pl/index.php?showtopic=23709) i dopiero upychać w hidden.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 15.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
a sesje?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Cytat(pillot @ 2004-12-12 21:19:58) to można hasło szyfrować (md5, sha1) po pierwsze to jest hashowanie a nie szyfrowanie po drugie nie stanowi to żadnego zabezpieczenia, bo włamywaczowi wystarczy użycie hasha do wejścia do systemu -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 09:53 |