romek napisał(a)
Widac ze generalnym bledem jest bezposrednie wsadzanie zawartosci zmiennej do skryptu. Zmienne typu np: lang powinny miec ograniczenie do kilku mozliwosci (bo jakie jezyki obslugujesz?) co mozna zdefiniowac w jakiejs tablicy, zas inne zmienne, jesli sa czytane powinny byc sprawdzane co do typu i dlugosci oraz odseparowane znaki specjalne i tagi.
i jeszcze jedno CHMOD MA OGROMNY WPLYW na wyswietlanie strony!!! Jesli pliki maja ustawione uprawnienia zle to nic nie zobaczysz w przegladarce, a otrzymasz blad 403 - forbidden czyli zabroniony dostep. Pliki dostepne dla strony www musza miec uprawnienia do odczytu dla wszystkich czyli 644.
No właśnie. Z tymi CHMOD'ami przesadziłem zdeka bo jak będzie 000 to nie wykona, nie zapisze ani nie odczyta. Zmienną lang powinno się ograniczyć tak:
$_langs[] = 'pl';
$_langs[] = 'en';
if (!in_array($_langs, $_GET['lang'])) {
die('Wybrany jezyk jest nieprawidlowy!');
}
Na zmienne które są wsadzane do include() wystarczy taki kaganiec:
$zmienna = str_replace('.', '', $zmienna);
(Mi pomaga :P)