Podręcznik użytkownika CodeIgniter wersja 2.2.1


Bezpieczeństwo

Ta strona opisuje "dobre praktyki" w zakresie bezpieczeństwa sieciowego, oraz szczegóły dotyczące wewnętrzych możliwości bezpieczeństwa w CodeIgniterze.

Bezpieczeństwo adresów URI

CodeIgniter jest dosyć restrykcyjny, jeśli chodzi o zakres znaków, jaki możesz stosować w ciągu URI - a to wszystko aby zminimalizować możliwość przekazania złośliwych danych do aplikacji. Ciąg URI może zawierać tylko:

Register_globals

Podczas inicjalizacji systemu, wszystkie globalne zmienne są niszczone, za wyjątkiem tych znajdujących się w tablicy _GET, $_POST i $_COOKIE. Procedura niszczenia daje taki sam efekt jak ustawienie register_globals = off.

error_reporting

W środowiskach produkcyjnych, zazwyczaj pożądane jest, aby wyłączyć raportowanie w PHP, poprzez ustawienie wewnętrzenej flagi error_reporting na wartość 0. To wyłącza wyświetlanie natywnych błędów PHP, które potencjalnie mogą zawierać wrażliwe informacje.

Ustawienie stałej ENVIRONMENT w pliku index.php na wartość 'production' wyłączy te błędy. W trybie developerskim, rekomendowane jest aby używać wartości 'development'. więcej informacji na temat różnic pomiędzy tymi środowiskami możesz znaleźć na stronie obsługa wielu środowisk.

magic_quotes_runtime

Dyrektywa magic_quotes_runtime jest wyłaczona podczas inicjalizacji systemu, abyś nie musiał usuwać slashy kiedy pobierasz dane z bazy danych.

Najlepsze praktyki

Przed zaakceptowaniem jakichkolwiek danych do apliakcji, niezależnie czy są to dane typu POST z formularza, dane COOKIE, URI lub XML-RPC lub nawet dane z tablicy SERVER, zachęcamy najpierw do wykonania tych trzech kroków:

  1. Filtruj dane tak jakby były niebezpieczne.
  2. Sprawdź poprawnośc danych, aby upewnić się czy są odpowiedniego typu, długości, wielkości itp. (czasami ten krok zastąpić krok pierwszy)
  3. Escapuj dane przed wysłaniem ich do bazy danych.

CodeIgniter dostarcza następujące funkcje, aby ułatwic Ci ten proces: