| Autor | Zpráva | ||
|---|---|---|---|
| andy7 Profil * |
#1 · Zasláno: 18. 7. 2012, 19:05:46
Dobrý deň chcel by som sa Vás spýtať čo vlasntne robím zle ak mi píše tento notice:Undefined index: up ... v tomto UP sa nachádzaju dáta kedže po samotnom vypísani mi zobrazi hodnotu.. ak teda napísem
echo $up;
vypíše mi nejaku hodnotu ale ak sa snazím do premennej $subor_typ = $_FILES['up']['type']; tak mi ukáze túto notice.. takisto aj ked chcem vypísat len echo $_FILES['up']['type']; tak hodnota je prázdna.. neviem čo s tym.. dakujem za rady
|
||
| ShiraNai7 Profil |
#2 · Zasláno: 18. 7. 2012, 19:27:19
$_FILES['up'] bude definovane jen v pripade, kdyz nahrajes pres formular soubor z inputu s takovym nazvem. Urcite je tato podminka v dobe provadeni tohoto skriptu (ci bloku kodu) splnena?
|
||
| andy7 Profil * |
#3 · Zasláno: 18. 7. 2012, 21:05:53
ako formular pre upload je toto
<form action="" method="post" class="add_news_form" > <br/>
<strong>Názov:</strong> <br/>
<input class="od" name="naz_novinky" type="text" /> <br/>
<strong>Pridal:</strong> <br/>
<input class="od" name="pridal_novinku" type="text" /> <br/>
<strong>Text:</strong> <br/>
<input class="od" name="text_novinky" type="text" /> <br/>
<strong>Názov obrázku:</strong> <br/>
<input class="od" name="name_img" type="text" /> <br/>
<strong>Obrázok:</strong> <br/>
<input name="up" type="file" />
<p> <input class="tlacitko2" name="add_news" type="submit" value="Pridaj novinku" /></p>
<input name="tlac" type="hidden" value="true" />
</form>';
if(isset($_POST['tlac'])){
$naz_novinky = $_POST['naz_novinky']);
$pridal_novinku = $_POST['pridal_novinku'];
$text_novinky = $_POST['text_novinky'];
$up = trim($_POST['up'];
if( ($naz_novinky!="") and ($pridal_novinku!="") and ($text_novinky!="") and ($up!="") ){
$max_size=3*1048576;
$max_sirka=200;
$max_vyska=200;
$povolene_typy=array("image/bmp","image/png","image/gif","image/jpeg","image/jpg");
$subor_typ=$_FILES['up']['type'];
........
|
||
| Keeehi Profil |
Formu přidej
enctype="multipart/form-data"
$up = trim($_POST['up']; - toto pak smaž
A $_FILES['up']['type']; - by ti už mělo fungovat.
Bezpečnostní upozornění: Obsah $_FILES['up']['type']; posílá prohlížeč, takže to není spolehlivé na ověření typu souboru. Klidně jako útočník dokážu odeslat třeba php script a v $_FILES['up']['type']; budu mít třeba image/jpeg.
|
||
| andy7 Profil * |
#5 · Zasláno: 18. 7. 2012, 21:20:52 · Upravil/a: andy7
ale tu premennu $up pouzivam dalej .. ked ju vyazem tak to nebude funkcne nic :) ..
ok funguje to diky moc :) a este sa spytam ako inak by som to teda mal ochranit pred utokom? |
||
| Keeehi Profil |
A co by v ní mělo být? Jméno souboru? Tak to je odteď v
$_FILES['up']['name'];andy7: Nejjednodušší je kontrolovat koncovku oproti whitelistu, nebo soubory nahrávat do veřejně nepřístupné složky a na jejich zobrazení/stažení si udělat v PHP tunel. |
||
|
Časová prodleva: 13 let
|
|||
0