Jak zweryfikować plik za pomocą MD5? (PHP)
Po wgraniu przez FTP na serwer plików, które chcielibyśmy udostępnić do pobrania z naszej strony, musimy następnie sprawdzić czy plik ten jest prawidłowy. Nie byłoby z tym problemu, gdyby taki plik był małych rozmiarów. Będziemy natomiast mieli spore problemy z plikami bardzo dużymi, np. archiwum z programem, w którym liczba plików przekracza tysiąc. Istnieje jednak jeden sposób, aby można było zrezygnować z potrzeby pobierania i sprawdzania umieszczanych na koncie plików.
Wiele jest programów, które pozwalają nam na obliczenie sumy MD5 danego pliku na naszym lokalnym komputerze. Równie dobrze można zatem zrobić to już po tym, jak plik zostanie wgrany na serwer. W języku PHP istnieje funkcja md5_file(), za pomocą której możemy wygenerować kod MD5 dla danego pliku i porównać go z tym, który wygenerowaliśmy na komputerze.
| <?php echo md5_file('./archiwum.rar'); ?> |
Jako parametr funkcji podaliśmy nazwę pliku, który chcemy sprawdzić. Ważne jest, aby plik archiwum.rar znajdował się w tym samym katalogu co skrypt PHP. Dzięki uruchomieniu skryptu w naszej przeglądarce wyświetli się suma MD5.

Rys.1: Rezultat wywołania funkcji dla pliku.
Możemy na przykład na naszym serwerze prowadzić sprzedaż programów, a to wymaga ich sprawdzenia. Nieprzychylna nam osoba mogłaby się włamać na serwer, a następnie podmienić plik. Użytkownicy, którzy go pobiorą, będą później mieli pretensje do nas.
Oto bardzo prosta metoda, pozwalająca na porównanie sumy wpisanej przez nas z obecną sumą pliku.
|
<?php else { |
Sprawdzamy, czy suma MD5 obliczona za pomocą funkcji PHP jest zgodna z wpisaną przez nas wartością, obliczoną w specjalnym programie. W wypadku gdyby była identyczna, użytkownikowi wyświetlony zostanie link do pobrania. Jeżeli natomiast wartość jest inna, poinformujemy go, że plik uległ uszkodzeniu.

Rys.2: Sprawdzanie
sumy MD5 pliku.
Dobrym pomysłem byłoby też umieszczenie w tym miejscu funkcji mail(), która wyśle na nasz e-mail informację o tym błędzie. Wówczas możemy go od razu naprawić, nie czekając na list od użytkownika.
Dzięki temu rozwiązaniu jesteśmy w stanie kontrolować, czy pliki znajdujące się na naszym serwerze są właśnie tymi które wgraliśmy. Jest to bardzo dobry sposób na zabezpieczenie serwisu przed osobami, które chciałyby podmienić zawartość plików. Pierwszy skrypt może również służyć do sprawdzenia, czy duży plik został przesłany prawidłowo.
Komentarze
Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka
(słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
19
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Z okazji wypuszczenia akcji Facebooka przypomnijmy sobie, kim jest Zuckerberg
10
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Co czeka programistów po czterdziestce?
27
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Społeczność
stop_gupota "Fanatyczny" Diablo 3 jest dopiero od 10 dni.
Mas Ciekawa informacja, ale akurat projekt wytopu stali przez chłopów to był...
_Igancio Poziom artykułu jest bardzo niski ! Niczego się nie dowiedziałem , wygląda...
voluu A ja mam problem. MIanowicie, po dodaniu kodu z tego poradnika miniaturki...
Sebek Pozycjonowanie stron za pośrednictwem firm oferujących
swoje usługi nie...
asdosad jak to zrobić na xp??
lol Jak ktoś tu wcześniej zauważył - artykuł jest o niczym, a właściwie ukrytą...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |









#1 eRIZ® 2009-05-13 19:50:57 0
IP: 77.254.40.[...] Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1
#2 eRIZ® 2009-05-13 20:09:16 0
IP: 77.254.40.[...] Opera/9.64 (Windows NT 5.1; U; en) Presto/2.1.1
#3 aaaaddd 2009-05-14 19:43:46 0
IP: 149.156.203.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)
#4 m1chu® 2009-05-24 16:27:22 0
IP: 83.23.177.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
#5 concopn oilier 2009-06-09 10:19:21 0
IP: 62.233.226.[...] Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729) FirePHP/0.3