Avíza

Povoliť odovzdávanie súborov pomocou PHP

Povoliť odovzdávanie súborov pomocou PHP


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

01 z 06

Formulár HTML

Ak chcete povoliť návštevníkom svojich webových stránok nahrávanie súborov na váš webový server, musíte najprv použiť PHP na vytvorenie formulára HTML, ktorý umožní ľuďom určiť súbor, ktorý chcú odovzdať. Aj keď je celý kód zostavený neskôr v tomto článku (spolu s niektorými upozorneniami o zabezpečení), táto časť kódu by mala vyzerať takto:

Vyberte súbor:

Tento formulár odosiela údaje na váš webový server do súboru s názvom „upload.php“, ktorý sa vytvorí v ďalšom kroku.

02 z 06

Odovzdáva sa súbor

Skutočné odovzdanie súboru je jednoduché. Tento malý kúsok kódu odovzdáva súbory odoslané do vášho formulára HTML.

$ target = "upload /";
$ target = $ target. basename ($ _FILES'uploaded''name ');
$ Ok = 1; if (move_uploaded_file ($ _ FILES'uploaded''tmp_name ', $ target))

echo "Súbor". basename ($ _FILES'uploadedfile''name '). „bolo nahrané“;
}  
else {
echo "Ľutujeme, pri nahrávaní súboru sa vyskytol problém.";

?>

Prvý riadok $ target = "upload /"; je miesto, kde priradíte priečinok, do ktorého sa súbory nahrávajú. Ako vidíte na druhom riadku, tento priečinok je vo vzťahu k priečinku upload.php file. Ak je váš súbor na www.yours.com/files/upload.php, nahral by súbory na www.yours.com/files/upload/yourfile.gif. Nezabudnite si vytvoriť tento priečinok.

Potom presuniete nahraný súbor na miesto, kam patrí move_uploaded_file (), Toto umiestni do adresára zadaného na začiatku skriptu. Ak sa to nepodarí, používateľovi sa zobrazí chybová správa; v opačnom prípade sa používateľovi oznámi, že súbor bol nahraný.

03 z 06

Obmedzte veľkosť súboru

Možno budete chcieť obmedziť veľkosť súborov, ktoré sa nahrávajú na váš web. Za predpokladu, že ste vo formulári HTML nezmenili pole formulára - stále sa nazýva „odovzdané“ - tento kód skontroluje veľkosť súboru. Ak je súbor väčší ako 350 000, návštevník dostane chybu „súbor je príliš veľký“ a kód nastaví $ ok na 0.

ak ($ ​​uploaded_size> 350000)

echo „Váš súbor je príliš veľký.
";  
$ Ok = 0;
}

Zmenou veľkosti 350000 na iné číslo môžete zmeniť obmedzenie veľkosti na väčšie alebo menšie. Ak vám nezáleží na veľkosti súboru, vynechajte tieto riadky.

04 z 06

Obmedzenie súborov podľa typu

Nastavenie obmedzení typov súborov, ktoré sa môžu nahrať na vaše stránky, a blokovania určitých typov súborov pred nahrávaním, je rozumné.

Tento kód napríklad skontroluje, či návštevník neodovzdáva na váš web súbor PHP. Ak ide o súbor PHP, návštevník dostane chybovú správu a $ ok je nastavené na 0.

if ($ uploaded_type == "text /php") 

echo "Žiadne súbory PHP
"; 
$ Ok = 0;
}

V tomto druhom príklade sa na web môžu nahrať iba súbory GIF a všetkým ostatným typom sa pred nastavením $ ok na 0 zobrazí chyba.

if (! ($ uploaded_type == "image / gif")) {
echo „Môžete nahrať iba súbory GIF.
"; 
$ Ok = 0;
}

Tieto dva príklady môžete použiť na povolenie alebo zamietnutie akýchkoľvek konkrétnych typov súborov.

05 z 06

Dávať to všetko dokopy

Keď to všetko zhrniete, získate toto:

$ target = "upload /";
$ target = $ target. basename ($ _FILES'uploaded''name ');
$ Ok = 1;
 
// Toto je naša veľkosť
ak ($ ​​uploaded_size> 350000)
 { 
echo „Váš súbor je príliš veľký.
"; 
$ Ok = 0;
 } 
 
// Toto je náš limitný typ súboru
if ($ uploaded_type == "text / php")
 { 
echo "Žiadne súbory PHP
"; 
$ Ok = 0;
 } 
 
// Tu skontrolujeme, že $ ok nebol omylom nastavený na 0
ak ($ ​​ok == 0)
 { 
Echo „Ľutujeme, váš súbor nebol nahraný“;
 } 
 
// Ak je všetko v poriadku, pokúsime sa ho nahrať
inak
 { 
if (move_uploaded_file ($ _ FILES'uploaded''tmp_name ', $ target))
 { 
echo "Súbor". basename ($ _FILES'uploadedfile''name '). „bolo nahrané“;
 } 
inak
 { 
echo "Ľutujeme, pri nahrávaní súboru sa vyskytol problém.";
 } 
 } 
?> var13 ->

Pred pridaním tohto kódu na svoj web musíte porozumieť bezpečnostným dôsledkom načrtnutým na nasledujúcej obrazovke.

06 z 06

Záverečné myšlienky o bezpečnosti

Ak povolíte odovzdávanie súborov, necháte sa otvorený ľuďom, ktorí sú ochotní vyložiť nežiaduce veci. Jedným z opatrných opatrení nie je umožniť nahrávanie súborov PHP, HTML alebo CGI, ktoré by mohli obsahovať škodlivý kód. To poskytuje určitú bezpečnosť, ale nejde o istotu požiarnej ochrany.

Ďalším opatrením je, aby priečinok na odovzdanie bol súkromný, aby ste ho mohli vidieť iba vy. Keď uvidíte odovzdané video, môžete ho schváliť a presunúť alebo odstrániť. V závislosti od počtu očakávaných súborov to môže byť časovo náročné a nepraktické.

Tento skript sa pravdepodobne najlepšie uchová v súkromnom priečinku. Nedávajte ho na miesto, kde ho môže používať verejnosť, alebo môžete skončiť so serverom plným zbytočných alebo potenciálne nebezpečných súborov. Ak skutočne chcete, aby sa široká verejnosť mohla preniesť na miesto na vašom serveri, vpíšte čo najviac zabezpečenia.



Komentáre:

  1. Nechemya

    Myslím, že sa mýlite. Poďme o tom diskutovať. Pošlite mi e -mail na pm.

  2. Dak

    I think, that you are mistaken. Write to me in PM, we will talk.

  3. Tuketu

    Klass ... kôň v plynovej maskeeeeeeeeeeeee

  4. Ruadson

    očarujúce posolstvo

  5. Princeton

    dakujem za vysvetlenie.

  6. Gojas

    An acquaintance in ICQ posted a link to your blog. It turned out that it was not in vain that I liked it. Now I will constantly read

  7. Eugenius

    And everything, and variants?



Napíšte správu