phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
Chyba is_uploaded_file - Secure error: Akce upload souboru neprošela bezpečnostní kontrolou
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2016-08-29, 19:57

Zdravím všechny,
dodělávám úpravy na nové fotobance pro phprs s využitím Croppic (viz i příspěvek [http://forum.phprs.net/read.php?32,36882,39141#msg-39141]). Nyní jsem ale narazil naproblém se kterým si již hodiny lámu hlavu. Dál mně nepustí chyba při if (is_uploaded_file($_FILES['prsoubor']['tmp_name'])) se vypíše hláška Secure error: Akce upload souboru neprošela bezpečnostní kontrolou.

Nevím čím to je, zredukoval jsem aimggal.php, kde jsem změnil přidávání více souborů na jeden soubor a místo type=file na text, protože do inputu vkládám přímo url vygenorovaného ořezaného obrázku.


<input type=\"file\" name=\"prsoubor\" accept=\"image/gif,image/jpeg,image/png\" multiple>
na
<input type=\"text\" name=\"prsoubortext\" accept=\"image/gif,image/jpeg,image/png\">


Přidal jsem funkci addToFiles, která zajistí převod na $_FILES:

function addToFiles($key, $url)
{
$tempName = tempnam('C:\wamp\tmp', 'php_files');
$originalName = basename(parse_url($url, PHP_URL_PATH));

$imgRawData = file_get_contents($url);
file_put_contents($tempName, $imgRawData);
$_FILES[$key] = array(
'name' => $originalName,
'type' => mime_content_type($tempName),
'tmp_name' => $tempName,
'error' => 0,
'size' => strlen($imgRawData),
);
}


Následně je vloženo je vloženo addToFiles('prsoubor', ''.$GLOBALS["prsoubortext"].'');

a pak cyklus for ($i=0; $i < $num_files; $i++) je nahrazen if ($num_files==1).

-----------------------

Problém je, že když vypíšu Array, je vše OK a soubor se do složky tmp nahraje,

Name: 2016-08-24_12-11-00_Naturhouse_z-naturhousecz.jpg
Type: image/jpeg
tmp_name: C:\wamp\tmp\phpC25.tmp
error: 0
size: 56295


ale is_uploaded_file jej asi nenačte. Nevíte někdo, kde by mohl být problém?
Děkuji za nápady.





Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR | Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR | Obce2016.cz - Moderní řešení profesionálního webu pro obce



Celkem upraveno 4×. Poslední úprava ZdenekPNJ v 29.08.2016 20:08.

Re: Chyba is_uploaded_file - Secure error: Akce upload souboru neprošela bezpečnostní kontrolou
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2016-08-29, 21:34

is_uploaded_file je funkcia slúžiaca na kontrolu, či bol súbor uploadnutý pomocou HTTP POST. Ak to tam vkladáš inak, podmienku vynechaj. Používa sa to pre kontrolu, aby niekto nepodstrčil cestu k existujúcemu súboru, ktorý takto spracovať rozhodne nechceš.
[http://security.stackexchange.com/questions/134397/exploitation-of-missing-is-uploaded-file-check]

Re: Chyba is_uploaded_file - Secure error: Akce upload souboru neprošela bezpečnostní kontrolou
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2016-08-29, 22:35

Super, díky za nakopnutí. Následně vyhodilo chybu další if, tentokrát

if (move_uploaded_file($_FILES['prsoubor']['tmp_name'],$sb_info_novy_jmeno))

ale pokud to chápu, tak teď nahradím move_uploaded_file pomocí copy, a je vše OK.

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR | Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR | Obce2016.cz - Moderní řešení profesionálního webu pro obce



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.