Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zabezpieczenie skryptu i proces instalacji.
Forum PHP.pl > Forum > PHP
vifus
Witam, mam sobie taki pewien skrypt transakcyjny, który jeszcze 'nie wszedł w życie' i mam go tak 'zabezpieczonego'

  1.  
  2.  
  3. $nick = $_SESSION['nick'];
  4. $haslo = $_SESSION['haslo'];
  5. $user = mysql_fetch_array(mysql_query("SELECT * FROM uzytkownicy WHERE `nick`='$nick' AND `haslo`='$haslo' LIMIT 1"));
  6.  
  7.  
  8.  
  9. if ((empty($nick)) AND (empty($haslo)) AND (empty($user[id]) OR !isset($user[id]))) {
  10.  
  11. tresc dostepna po zalogowaniu
  12.  
  13. }
  14. else {
  15. zaloguj sie itd.
  16. }
  17.  
  18.  



I pytanie - czy to jest wystarczająco bezpieczne ?

2. Mam zamiar zrobić proces instalacji - jak to najlepiej rozwiązać ? mam na myśli w pliku index.php zrobić Zapytanie, że jeżeli plik config.php jest pusty to otwiera się install/index.php a po zakończeniu instalacji po prostu index.php bym nadpisywał takim samym plikiem z tym, że już bez tego zapytania czy config.php jest pusty.


Czy to ma sens? Jak to najlepiej rozwiązać ?

Dzięki z góry.
maniana
Przed dodanie jakichkolwiek zmiennych do zapytania przefiltruj je funkcjami, np: mysql_real_escape_string. Po prostu niebezpieczeństwo w 99% idzie od strony danych wejściowych. To tego możesz jeszcze posolić hasło smile.gif Zabezpiecza to hasła które mogą wypłynąć na zewnątrz.
vifus
posolić to np. zakodować md5 ?
maniana
Tu było to wałkowane.
vifus
Dobra, to już rozumiem, a co z tą instalacją?
maniana
Tutaj nie powiem dokładnie. Nigdy w ten sposób nie celowałem w odbiorce aplikacji. Ja postawiłem na dobrze opisany plik konfiguracyjny i sprawdzanie podstawowych danych (np. połączenie z bazami czy hosty na których uruchamiana jest aplikacja) Zauważ, że im bardziej skrypty są rozbudowane, tym bardziej są one narażone na dziury.

Ja w tym przypadku bym postawił na:
1. skierowanie domeny na katalog w którym jest tylko grafika i css i mały pliczek index.php (w którym jest tylko np.
  1. include '../aplikacja/init.php'
) Czyli cofniesz się ze skryptami w dół, tam gdzie przez domenę się nie dostaniesz.
2. Unikaj popularnych nazw (start, default, index, home, ..., i chyba init :) ) przy ew 'mass deface' aplikacja zostanie nienaruszona :)
3. Jak już konfig to user musi skasować plik konfiguracyjny (Edit: chodziło o plik instalacyjny).
4. Serwer z mod_secutiry to chyba podstawa (wyłapuje niestandardowe zapytania http oraz adresy URI skierowane do aplikacji)
5. Wszelkie moduły oferujące upload muszą być 100 razy przeanalizowane i tyle samo razy poprawione :)
6. URL pattern też się przyda do sterowania i bezpieczeństwa.
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.