Dobrodošli,
Gost
. Molim vas
prijavite se
ili se
registrujte
.
Da niste izgubili svoj
aktivacioni e-mail?
Subota, 19. Maj 2012. 02:42:21
Početna
Pomoć
Pretraga
Prijavljivanje
Registracija
linux.rs forum
>
Programiranje
>
PHP
>
Upload fajlova
Stranice: [
1
]
Idi dole
« prethodna tema
sledeća tema »
Štampaj
Autor
Tema: Upload fajlova (Pročitano 1838 puta)
biksi
Gost
Upload fajlova
«
poslato:
Ponedeljak, 23. April 2001. 14:22:00 »
Imam skript koji bi trbao da uploaduje fajl sa klijenta na server sto u lokalu (na PWS + Windows) lepo radi ali na Web serveru javlja:
Unable to create 'imefalja.extenzija': Permission denied in bla, bla, bla...
Pretpostavljam da tu ima nesto oko prava pristupa, ali sta i kako ga resiti? Unapred hvala.
Sačuvana
acim
Administrator
Elitni član
Van mreže
Poruke: 1.604
Upload fajlova
«
Odgovor #1 poslato:
Ponedeljak, 23. April 2001. 16:38:00 »
Tacno tako, ali nisi napisao koji je server u pitanju, da li je to UNIX/Linux server? Ukoliko jeste, potrebno je da korisnik koji izvrsava Web server, najverovatnije nobody ili njegova grupu budu vlasnik direktorijuma u koji se vrsi upload. Predlazem sledece resenje. Recimo da je vlasnik fajlova biksi:
chown biksi.nobody ime_direktorijuma
chmod 770 ime_direktorijuma
Ovo je bilo resenje sa grupom, a moguce je i resenje da vlasnik bude korisnik nobody, sto mi se manje svidja:
chown nobody ime_direktorijuma
chmod 755 ime_direktorijuma
Na kraju, nije potrebno menjati vlasnika vec samo privilegije:
chmod 777 ime_direktorijuma
ali je ovo ubedljivo najlosije resenje.
Sačuvana
Boban Aćimović, urednik linux.rs
mita
Gost
Upload fajlova
«
Odgovor #2 poslato:
Petak, 01. Jun 2001. 01:01:00 »
Ako hoces da upload radis sa html strane, gde ce korisnik da selektuje koji fajl uploaduje sa svog racunara, napravi form koji ce imati nesto nalik na
<input type="text" name="ImeFajla" value="<?php echo $ImeFajla ?>" size="50" readonly style="background:lightgray; font-style=italic"><br>
<input type="file" name="ImeFajlaFile" size="50">
a onda u diru gde ti se nalazi PHP script napravi shell
script sa imenom copyUpload (naravno, executable)
#!/bin/bash
cp $1 $2
Takodje, napravi dir gde ces da trpas uploadovane fajlove,
kod mene je to "../images/files/"
u svom scriptu stavi ovaj function:
function UploadFile ($file, $remote, $name) {
$remoteFile = explode(".",$remote);
$fileType = $remoteFile[1];
$path = $name . "." . $fileType;
$saved='';
if ($file!='none') {
$path = "../images/files/" . $path; // uploaded file goes here
if (!(is_dir(dirname($path)))) { // ako dir ne postoji, kreiraj
mkdir(dirname($path), 0700);
}
if (is_uploaded_file($file)) {
system("./copyUpload $file $path");
$saved = $path;
} else {
echo "Possible file upload attack: filename '$file'.";
}
}
return $saved;
} // End of UploadFile
Ovu funkciju pozivas ovako:
$str = UploadFile($ImeFajlaFile, $HTTP_POST_FILES["ImeFajlaFile"][name], "ImeFajlaFile");
Nadam se da ce pomoci.
Sačuvana
Stranice: [
1
]
Idi gore
Štampaj
« prethodna tema
sledeća tema »
Prebaci se na:
Izaberite destinaciju:
-----------------------------
Operativni sistem Linux
-----------------------------
=> Komentari i najave
=> Forum za početnike
=> Sistem administracija
=> Bezbednost
-----------------------------
Primena Linuxa
-----------------------------
=> Školstvo
=> Privreda
=> Enterprise
-----------------------------
Programiranje
-----------------------------
=> Teorija programiranja
=> C/C++
=> Perl
=> PHP
=> Java
=> Python
=> Basic
=> Pascal
=> Shell
-----------------------------
Mreže
-----------------------------
=> Mreže
=> Bežične mreže
-----------------------------
Razno
-----------------------------
=> Baze podataka
=> Web dizajn
=> Web
=> Zaposlenje
=> Mali oglasi
-----------------------------
Podrška
-----------------------------
=> Sugestije i primedbe
=> Test
Powered by SMF 1.1.16
|
SMF © 2006-2011, Simple Machines
Site and theme sponsored by
Evizo
Učitavam...
?>