PHP/Obsługa ciastek: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m Programowanie:PHP:Obsługa ciastek przeniesiono do PHP/Obsługa ciastek: zmiana konwencji nazewnictwa
mała poprawka
Linia 41:
Powyższy kod może być częścią jakiegoś serwisu, który swoje artykuły udostępnia także w formacie PDF do ściągnięcia, gdyż aktualnie tylko takie pliki można nim wysyłać. Przeanalizujmy go krok po kroku.
# Na początku dokonujemy sprawdzenia, czy ktoś w ogóle zainteresował się podaniem nazwy dokumentu do pobrania.
# Bezpieczeństwo na miejscu pierwszym - wszystko, co jest nazwą pliku i pochodzi od internauty, powinno być przepuszczone przez funkcję ''basename()'', która wyciągnie z niego wyłącznie nazwę i odrzuci jakieś przejścia międzykatalogowemiędzy katalogowe, co mogłoby zagrozić bezpieczeństwu. Wyobraź sobie, że ktoś wpisze sobie np. ''../strona_hasla.php''. Bez tego zabezpieczenia dostałby hasła dostępu do naszej strony, lecz ''basename()'' odrzuci niebezpieczny fragment ''../''. Mamy więc pewność, że internauta będzie ściągać TYLKO i WYŁĄCZNIE to, co chcemy, aby ściągał.
# Jeśli stwierdzimy, że plik istnieje, powiadamiamy nagłówkami, że oto nadejdzie dokument PDF jako załącznik o odpowiedniej nazwie. Funkcją ''readfile()'' wysyłamy jego zawartość.
# Gdyby ktoś podał niewłaściwą nazwę pliku, możemy wysłać mu komunikat błędu 404.
Linia 154:
// CENZURA
// Pobieramy zbuforowany tekst
// I **dla czytelnosciczytelności** przykladuprzykładu zapisujemy go w zmiennej
$kod = ob_get_clean();
if(isset($_GET['real']))
{
// Wtajemniczeni znajaznają calacałą prawdeprawdę
echo $kod;
}
else
{
// Reszta mozemoże siesię tylko domyslacdomyślać
echo str_replace(array(
'Jan Nowak',