Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
C# week
Avatar
Rasta_Man
Člen
Avatar
Rasta_Man:11.5.2013 15:59

Ahoj potřeboval bych poradit kód na Upload a Ověření obrázků, spíše to ověření zda je obrázek PNG nebo JPEG.

Předem děkuju.

 
Odpovědět
11.5.2013 15:59
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Rasta_Man
David Čápka:12.5.2013 10:19

Ahoj, k nahrání použiješ jednoduše formulář (input type="file" name="soubor").

V PHP potom pracuješ s polem $_FILES. K přesunutí obrázku na dané umístění slouží funkce move_uplaoded_file, takto:

$nazev = ($_FILES["soubor"]["name"]);
$docasneUmisteni = ($_FILES["soubor"]["tmp_name"]);
$velikost = ceil(filesize($docasneUmisteni)/1024/1024);
move_uploaded_file($docasneUmiseni, 'nahrane/' . $nazev);
}

Kód výše je nutné zabaezpečit podle typu souboru nebo přípony, aby ti někdo nenahrál skript .php a nespustil si ho u tebe na serveru.

K ověření typu slouží:

$info = getimagesize($docasneUmisteni);
$typ = $info[2];
if ($typ == IMAGETYPE_PNG)
...
Editováno 8.10.2013 11:44
Nahoru Odpovědět
12.5.2013 10:19
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Nahoru Odpovědět
13.6.2013 18:17
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:13.6.2013 18:21

Ne, našel jsi dost špatný návod, udělej to jak jsem ti říkal výše.

Nahoru Odpovědět
13.6.2013 18:21
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:13.6.2013 18:28

Vždyť to je podobný :D

Nahoru Odpovědět
13.6.2013 18:28
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:13.6.2013 18:28

Také tam máš chybu.

Nahoru Odpovědět
13.6.2013 18:28
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Nahoru Odpovědět
13.6.2013 18:29
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:13.6.2013 18:45

Nečetl jsem to po sobě, není to kompletní kód, ale postup. Co poslal Dan umožňuje vykrást databázi.

Nahoru Odpovědět
13.6.2013 18:45
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:13.6.2013 19:09

Vždyť tam není o databázi ani zmínka ?

Nahoru Odpovědět
13.6.2013 19:09
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Odpovídá na Daniel Vítek
Michal Žůrek - misaz:13.6.2013 19:32

ale co kdyby ti tam někdo poslal php script a vykrad tvoji databázi?

 
Nahoru Odpovědět
13.6.2013 19:32
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:13.6.2013 19:34

To je jedno, mají špatně ošetřenou kontrolu typů souboru, lze tam podstrčit PHP soubor co se bude tvářit jako obrázek. A přes ten si vypsat obsah skriptu, kterým se připojuješ k db a tak zjistit heslo. Zbytek si domyslíš sám.

Nahoru Odpovědět
13.6.2013 19:34
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:13.6.2013 19:36

To jdu zkusit :D

Nahoru Odpovědět
13.6.2013 19:36
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:13.6.2013 19:39

nic to nedělá :D

Nahoru Odpovědět
13.6.2013 19:39
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Daniel Vítek
David Čápka:13.6.2013 19:45

Protože jsi tam nepodstrčil falešný typ. Jinak i tu kontrolu velikosti mají špatně.

Nahoru Odpovědět
13.6.2013 19:45
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Čápka
Daniel Vítek:13.6.2013 19:51

tu stejně nepoužívám :)

Nahoru Odpovědět
13.6.2013 19:51
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Neaktivní uživatel:13.6.2013 19:52

Pokud tomu tady někdo opravdu bude rozumět, tak to bude sdraco. Nevím co tu řešíte, zrovna v tomhle bych mu bezmezně věřil - podívejte se na devbook ...

Nahoru Odpovědět
13.6.2013 19:52
Neaktivní uživatelský účet
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
David Čápka:13.6.2013 19:56

No na devbooku je hodně věcí, co by se měly udělat lépe :D Ale díky.

Nahoru Odpovědět
13.6.2013 19:56
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Neaktivní uživatel:13.6.2013 19:59

CSS přeci není řešeno inline zápisem, vybírání lidí v příspěvcích také funguje, double post také není problémem - co že by šlo udělat lépe :D?

Nahoru Odpovědět
13.6.2013 19:59
Neaktivní uživatelský účet
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na David Čápka
Petr Nymsa:13.6.2013 20:16

Myslím že to je problémem který je neustále zacyklen :). Jakimle se nabalují věci , zjistíme že už to není tka pěkný jak bývalo... to mi připomíná moji tvorbu enginu :D ... opět jsem přepsal mírně jádro a stejně není dořešený úplně všehcno, ono to ani nepůjde - vyřešit vše ale chtěl bych většinu tak aby to bylo univerzálně připravený :D ... ale jsem s ním už i celkem spokojený :) Rýsuje se to pěkně ... brzy dám nějaký info

Nahoru Odpovědět
13.6.2013 20:16
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:13.6.2013 20:41

Jenže oni tam mají kontrolu falešných typů.

Nahoru Odpovědět
13.6.2013 20:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Kit:13.6.2013 20:42

SQL dotazy :)

Nahoru Odpovědět
13.6.2013 20:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:13.6.2013 20:54

Do těch nevidím, ty kritizovat nemůžu :)

Nahoru Odpovědět
13.6.2013 20:54
Neaktivní uživatelský účet
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Neaktivní uživatel
Daniel Vítek:13.6.2013 21:02

Však já mu věřím, ale taky to trochu potřebuju vysvětlit :) (proto jsem mu říkal ať na to udělá tutoriál...)

V tom návodu, co jsem si našel já, to bylo vysvětlený...

Nahoru Odpovědět
13.6.2013 21:02
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:13.6.2013 21:10

Pokud vím, mají to jen přes to co odeslal uživatel, tam si může každý napsat co chce. Co se neověří na serveru není bezpečné.

Nahoru Odpovědět
13.6.2013 21:10
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět
13.6.2013 21:18
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Neaktivní uživatel:11.6.2014 17:23

To 1024/1024 je zjištění velikosti?

Nahoru Odpovědět
11.6.2014 17:23
Neaktivní uživatelský účet
Avatar
mkub
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
mkub:12.6.2014 2:47

funkcia filesize() ti vrati velkost suboru v bajtoch a tych 1024/1024 je prepocet na MB
dalo by sa to tych 1024/1024 zapisat aj ako 1048576 (1024*1024)
cize:

$velikost = ceil(filesize($docasneUmisteni)/1024/1024);

by sa dalo zapisat aj ako:

$velikost = ceil(filesize($docasneUmisteni)/1048576);
 
Nahoru Odpovědět
12.6.2014 2:47
Avatar
Neaktivní uživatel:8.9.2014 21:00

Jak se to dá udělat tak aby ten soubor mohl být jakýkoli jen ne php a zároveň to bylo bezpečné?

Nahoru Odpovědět
8.9.2014 21:00
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 28 zpráv z 28.