[ Pobierz całość w formacie PDF ]
.Można je jedynie odebrać i wyświetlićw postaci czystego tekstu i nie można zakładać, że można je bezpiecznie uruchomić.Nawet pozwolenie na wyświetlenie przesłanych plików niesie ze sobą potencjalne zagrożenie.Nawydruku 5.6.pokazany jest prosty przykład w jaki sposób mechanizm wyświetlania plików może spowodowaćdziurę w systemie bezpieczeństwa.Wydruk 5.6.Naruszenie bezpieczeństwa podczas obsługi przesłanych plikówNaruszenie bezpieczeństwa przy przesyłaniu plikuread_file( $thefile );print( "" );print( nl2br( htmlentities( $aFileCont ) ) );print( "" );?>Jest to oczywiście wymyślony przykład.W przykładzie tym przesłany plik jest kopiowany do nowegokatalogu, ale wyświetlając plik odczytywany i wysyłany do przeglądarki jest plik tymczasowy.W rzeczywistościPHP  Kompendium wiedzy65 prawdopodobnie odczytasz i wyświetlisz plik znajdujący się na ścieżce zapamiętanej w $aNewName.Dla potrzeb tejprezentacji poprzedni plik pokazuje w jaki sposób zle napisany skrypt narusza system bezpieczeństwa.Aby wykorzystać niedoskonałość skryptu ktoś może wpisać do przeglądarki nazwę skryptu i podać nazwędowolnego pliku na serwerze.Na przykład wprowadzenie takiego adresu URL spowoduje wyświetleniezawartości pliku /etc/passwd (zakładając, że będzie on wykonywany na systemie Uniksowym):http://serwer.com/sciezka/upload_flaw.phtml?thefile=/etc/passwdMożna przetestować to na komputerze z Uniksem, że niebezpieczeństwo jest rzeczywiste.Nawet mimotego, że serwer WWW pracuje jako użytkownik nobody, plik /etc/passwd musi być możliwy do odczytania przezwszystkich użytkowników.W rozdziale o formularzach kładłem nacisk na to, że nie wolno zakładać, że wszyscy użytkownicyaplikacji będą używali jej zgodnie z twoimi zamiarami.Tak samo jest i teraz.Niektórzy użytkownicy będą chcielirozmyślnie wykorzystać słabości aplikacji a inni nieświadomie spowodują jej awarię.Należy dokładnieprzemyśleć wszystkie możliwe skutki uboczne pozwolenia na przesyłanie plików na serwer WWW.PodsumowanieW rozdziale tym pokazane zostały sposoby odczytywania i wykorzystania plików przesłanych przezprzeglądarki zgodne z dokumentem RFC 1867.Zostały przytoczone przykłady obsługi jednego pliku jak równieżtablicy plików.Na końcu rozdziału znajduje się mała część ilustrująca w jaki sposób zle napisany skrypt możestworzyć dziurę w systemie bezpieczeństwa serwera.Dopuszczenie do przesyłania plików do aplikacji może być w wielu przypadkach użyteczne, ale należypamiętać, że niektórzy użytkownicy mogą nie posiadać dostatecznie szybkiego łącza aby efektywnie korzystać ztego mechanizmu, więc dobrym pomysłem jest zapewnienie jeszcze jednego sposobu na dostarczanie plików doaplikacji.Rozdział 5  Wysyłanie plików przez formularz66 Rozdział 6.Współpraca z bazami danychWstępJedną z najważniejszych cech nowoczesnych języków programowania lub narzędzi programistycznychjest zdolność współpracy z bazą danych.Jest to spowodowane tym, że systemy zarządzania relacyjnymi bazamidanych (SZRBD) posiadają wiele bardzo wydajnych i niezwykle użytecznych mechanizmów zarządzania danymi,jak na przykład indeksowanie, relacje pomiędzy danymi, obsługa transakcji, kaskadowe operacje wykonywane nadanych i wiele innych.PHP pozwala na dostęp do danych przy użyciu bogatego zestawu funkcji związanych zbazami danych.WprowadzenieJak można wywnioskować na podstawie dokumentacji, autorzy PHP uważają obsługę baz danych za jednąz najważniejszych i najsilniejszych cech PHP.Obsługiwane są między innymi takie bazy danych:Adabas D InterBase SoliddBase mSQL SybaseEmpress MySQL VelocisFilePro Oracle Unix dbmInformix PostgreSQL Mictosoft SQL ServerODBCObsługując ODBC, PHP może zostać użyty do prawdopodobnie dowolnej istniejącej bazy danych.Zpowodu ogromnej ilości obsługiwanych baz danych jest niemożliwe szczegółowe omówienie obsługi każdej znich w tej książce [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • higrostat.htw.pl
  •