Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenie plików z /admin/*
Forum PHP.pl > Forum > PHP
di_kamilo
Ostatnio biore się za pisanie panelu admina do cms, którego jeszze nie ma smile.gif Najpierw chcę napisać admina potem cms.

No więc do rzeczy, jak zabezpieczyć pliki odpowiedzialne za adminowaine serwisem ?
np. www..../admin/addnews.php

Logowanie do admina bedzie na sesjach z bazy. Jeżeli w pliku addnews.php zamieszcze funckje sprawdzające zmieną sesyjną np z nazwa użytkownika, i jeżeli zmienna będzie pusta to nie pozwoli na dostęp. Oczywiście o zawartości tej zmiennej będzie już decydował sam plik index.php w którym będzie logowanie. Czy takie coś ma szanse przetrwania i będzie spełniało rolę zabezpieczenia ?

Może macie inne pomysły na zabezpieczenie tych plikow ?
TomASS
Jeśli polegasz tylko na sesji to ja nie widzę najmniejszego problemu - jakbyś się bawił jeszcze w ciasteczka to mógłbyś mieć problem. Ja panel administratora mam tylko na sesjiach, tak jak to opisałeś i myślę, że jest to bezpiczeny sposób. Ale oczywiście mogę się mylić smile.gif
Adiasz
a sesje to niby co, nie ciasteczka? tongue.gif
Jarod
Cytat(Adiasz @ 2006-04-13 20:32:00)
a sesje to niby co, nie ciasteczka? tongue.gif

Tylko że sesje są trzymane po stronie serwera a nie klienta tongue.gif
huntercs
sesje to nie ciasteczka tongue.gif
dane sesji są trzymane na serwerze więc są bezpieczne, dodaktowo jeżeli masz taką możliwość możesz zabezpieczyć katalog poprzez .htaccess, deny from all i allow na swoje ip, ale sesje wystarczą w zupełności
TomASS
@Adiasz :
Cytat
a sesje to niby co, nie ciasteczka?

Dlaczego tak uważasz?
Może akurat masz rację, tylko niestety zapomniałeś podać argumentów smile.gif
Adiasz
@huntercs @TomASS Chodzilo mi o bezpieczenstwo, tzn ze mechanizm sesji wysyla ciasteczko do urzytkownika z sessionID i co z tego ze wartosc sesji jest przechowywana na serwerze, skoro klucz do niej jest trzymany w ciasteczku. Wiec nie widze dlaczego sesje mialby by byc bezpieczniejsze od samych ciasteczek (napewno sa wygodniejsze), chyba ze sie myle?
TomASS
@Adiasz :

Taka dyskusja mi się podba smile.gif Masz rację smile.gif
Cytat
Gość wchodzący na twoją stronę WWW otrzymuje unikalny identyfikator, tzw. id sesji. Jest ono przechowywane albo jako ciasteczko po stronie użytkownika lub propagowane w URL'u.


Cytat
Jak już wiemy, identyfikator sesji jest przechowywany w cookie w komputerze z przeglądarką lub jest wbudowany w argumenty GET, POST, przekazywane razem z żądaniem pobrania strony. Nie jest nigdzie zapamiętywany - przekazywany jako część żądania i zwracany do kody HTML, do łączy i formularzy, które mogą wygenerować kolejne żądanie. Przeglądarka i serwer przerzucają się tą krytyczną dla nas informacją jak "gorącym kartoflem". Jeżeli któraś ze stron zgubi identyfikator, nasza sesja się kończy

Tylko co Ci da ID sesji?
Adiasz
Wydaje mi sie ze w przypadku przejecia ciasteczka z sessionID dostaniemy dostep do tego do czego nie powinnismy miec dostepu :-)
bigZbig
Ciasteczko sessionID administratora zostaje utworzone w momencie poprawnego logowania. Po wylogowaniu sesja wygasa wiec aby przejac sesje admina trzebaby bylo miec dostep do jego komputera w momencie kiedy jest on zalogowany do systemu. To juz chyba latwiej byloby mu zainstalowac w kompie skaner klawiatury i zwyczajnie poznac jego login i haslo winksmiley.jpg
Apo
Cytat
Wydaje mi sie ze w przypadku przejecia ciasteczka z sessionID dostaniemy dostep do tego do czego nie powinnismy miec dostepu :-)

Wystarczy że do sesji dodasz:
  1. <?php
  2. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  3. //a na stronie sprawdzisz
  4. if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
  5. exit();
  6. ?>

smile.gif
of kors i to sie da obejść ale więcej roboty jest.
di_kamilo
Cytat
możesz zabezpieczyć katalog poprzez .htaccess, deny from all i allow na swoje ip


Z .htaccess nie ma problemu, ale z ip nie bardzo bo zmienne jest smile.gif
Apo
Cytat
ale z ip nie bardzo bo zmienne jest

Zmienie się jeśli sie rozłączysz z netem i połączysz a nie podczas przeglądania internetu. Chyba że chcesz zrobić zapamiętywanie to wtedy musisz coś innego wymyślić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.