Script de descărcare a fișierului php

În acest articol, vom examina un exemplu de creare a unui script php pentru încărcarea fișierelor pe server. Exemplul nostru simplu de încărcare a fișierelor va avea 2 fișiere: form (form.html), php script download (uploader.php).







Acum vom analiza totul în detaliu. În primul rând, analizați fișierul form.html formular:

După cum puteți vedea acest lucru este un cod HTML simplu, nu este nimic complex aici, numai dacă formularul este de a încărca fișiere pe server, acesta trebuie să fie specificat atributul enctype = „multipart / form-date“.

Formularul nostru va arata astfel:

Exemplu script de descărcare PHP fișier

Acum, să examinăm un fișier php care va încărca fișiere pe server. Mai jos este furnizat codul sursă:

Cum funcționează scriptul de descărcare a fișierelor PHP?

uploader.php un simplu fișier php script de încărcare de pe serverul care va descărca fișierele noastre într-un anumit director al site-ului, care este indicat string $ target_path = „uploaded_files /“;

Apoi, mutăm fișierul descărcat utilizând move_uploaded_file (), primul său argument este fișierul descărcat, al doilea este calea către dosarul site-ului la care vom încărca fișierul.

Ei bine, de la sine facem o ieșire elementară a mesajelor cu ajutorul lui dacă / altceva, deci a fost clar dacă fișierul nostru a fost încărcat sau nu.

Protecție împotriva atacurilor de hacking la descărcarea unui fișier

Vom lua în considerare nu numai protecția în termeni de hacking hacks, ci și alte probleme nedorite care apar atunci când descărcați fișiere pe server.

Fișierul shell PHP

Aceasta este prima problemă cu încărcarea fișierelor pe server. Când fișierul de descărcare are un shell php, și aceasta nu înseamnă că extensia sa va fi php. Poate arata ca imagine.jpg (.gif Png ...). Dar în interiorul arata astfel:







Unii meșteri pot executa, de asemenea, comenzi pe server cu ajutorul navigării prin url:

Pentru protecție, puteți implementa o verificare a fișierelor MIME. Vedeți exemplul de mai jos:

Această bucată de cod php verifică dacă fișierul GIF descărcat este un fișier. Inserați acest cod înainte de scriptul de descărcare a fișierului php. Firește, puteți schimba scanarea în jpg, png sau alte fișiere de care aveți nevoie.

Într-adevăr, această metodă de protecție poate fi eludată dacă trimiteți un antet de antet, cu instrucțiuni MIME. Pentru a face acest lucru, trebuie să verificați disponibilitatea în fișierul descărcat.

Limitați dimensiunea fișierului încărcat

De asemenea, pot apărea probleme cu dimensiunile mari ale fișierelor care vor ocupa spațiul dvs. pe disc. Pentru a face acest lucru, trebuie să scrieți o limită a mărimii fișierului încărcat.

Puteți face acest lucru folosind un formular, trebuie să adăugați următoarea linie în contextul html al formularului:

Acest câmp de intrare ascuns va limita dimensiunea fișierului încărcat. Sau puteți verifica dimensiunea fișierului utilizând PHP.

Alo mulțumiri pentru articol. Lucrul pentru începători. dar a existat o întrebare când am încercat să redenumesc # 42; # 42; # 42; .jpeg pe # 42; # 42; # 42; # 42; .txt și încărcare; funcția a ratat-o ​​încă. adică, browserul a trecut tipul de mime ca imagine / jpeg. în ceea ce poate exista o problemă.

Este necesar să verificați atât extensia de fișier, cât și tipul fișierului mime. În ceea ce privește acesta din urmă, articolul are o bucată de cod. Ei bine, extensia de fișier, trebuie să luați din numele fișierului. Pentru a face acest lucru, utilizați funcția de explodare, care va analiza numele fișierului într-o matrice (specificați o perioadă ca parametru separator). Ultimul obiect al matricei va fi extensia fișierului descărcat. apoi printr-o verificare elementară dacă altfel verificăm corespondența fișierului descărcat.

Mulțumită lui Taras totul sa dovedit.

Este necesar să lucrați cu baza de date mysql. Creați un tabel și puneți numele fișierelor, dimensiunea, calea spre fișier de pe server. și alte informații necesare. După aceea, ieșiți fișierele fiecărui utilizator, pentru aceasta trebuie să creați un alt câmp în tabel pentru a stoca ip-ul utilizatorului. Într-un cuvânt, aceasta este o lecție separată.

Mulțumesc! Toate lucrările pe ura!

Puteți scrie calea către fișierul din baza de date.







Articole similare

Trimiteți-le prietenilor: