/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Upload af filer
Fra : Mikkel Bundgaard


Dato : 21-05-03 17:17

Når jeg uploader filer php+apache, må der ikke være mellemrum i.... Kan
jeg løse det?

Ikke engang $_files[filename][name] giver andet end ""

/mikkel


 
 
Johan Holst Nielsen (22-05-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-05-03 09:34



Mikkel Bundgaard wrote:
> Når jeg uploader filer php+apache, må der ikke være mellemrum i.... Kan
> jeg løse det?
>
> Ikke engang $_files[filename][name] giver andet end ""
>

Burde ikke være et problem. Kan vi se noget af scriptet?

mvh
Johan


Mikkel (22-05-2003)
Kommentar
Fra : Mikkel


Dato : 22-05-03 10:15

Hej,

Her er skidtet eller slamkoden :)

$unixtid = time();

// Nedenstående kopierer skidtet
if ($upload="true") {

$fil_navn = $_FILES['filename']['name'];

exec("cp $filename $rejse_dir/$unixtid.$fil_navn");
exec("chmod 0644 $rejse_dir/$unixtid.$fil_navn");

if (file_exists("$rejse_dir/$unixtid.$fil_navn")) {

open_sql();
$sql = "Insert INTO rejser(navn,beskrivelse,filnavn,brugernavn)

values('$_rejsenavn','$_rejse_beskrivelse','$unixtid.$fil_navn','$id_');";

sql_spoerg($sql);
luk_sql_forbindelse();

echo "<h5>rejse uploadet...</h5>";

}
}

/mikkel



"Johan Holst Nielsen" <johan@weknowthewayout.com> wrote in message
news:3ECC8B7C.3060309@weknowthewayout.com...
>
>
> Mikkel Bundgaard wrote:
> > Når jeg uploader filer php+apache, må der ikke være mellemrum i.... Kan
> > jeg løse det?
> >
> > Ikke engang $_files[filename][name] giver andet end ""
> >
>
> Burde ikke være et problem. Kan vi se noget af scriptet?
>
> mvh
> Johan
>



Johan Holst Nielsen (22-05-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 22-05-03 10:29



Mikkel wrote:
> Hej,
>
> Her er skidtet eller slamkoden :)
>
> $unixtid = time();
>
> // Nedenstående kopierer skidtet
> if ($upload="true") {
>
> $fil_navn = $_FILES['filename']['name'];
>
> exec("cp $filename $rejse_dir/$unixtid.$fil_navn");
> exec("chmod 0644 $rejse_dir/$unixtid.$fil_navn");
>
> if (file_exists("$rejse_dir/$unixtid.$fil_navn")) {
>
> open_sql();
> $sql = "Insert INTO rejser(navn,beskrivelse,filnavn,brugernavn)
>
> values('$_rejsenavn','$_rejse_beskrivelse','$unixtid.$fil_navn','$id_');";
>
> sql_spoerg($sql);
> luk_sql_forbindelse();
>
> echo "<h5>rejse uploadet...</h5>";
>
> }
> }


FØJ! Der mangler validering til den store guldmedajle,... omskrivning af
scriptet...
<?php
$unixtid = time();
if($upload="true") {
if(move_uploaded_file($_FILES['filename']['tmp_name'],$rejse_dir/$unixtid.$_FILES['filename']['name']))
{
chmod($rejse_dir/$unixtid.$_FILES['filename']['name'], 0644);
if(file_exists("$rejse_dir/$unixtid.$_FILES['filename']['name']")) {
open_sql();
$sql = "Insert INTO rejser(navn,beskrivelse,filnavn,brugernavn)
values('$_rejsenavn','$_rejse_beskrivelse','$unixtid.$_FILES['filename']['name']','$id_');";
sql_spoerg($sql);
luk_sql_forbindelse();
echo "<h5>rejse uploadet...</h5>";
}
}
?>

Sådan... lige lidt mere validering ville heller ikke gøre skade? men ved
ikke hvad systemet skal bruges til...

bemærk... brug ALDRIG direkte system kommandoer UDEN at validere input
:) Det kan gå fatalt galt ;)

Iøvrigt grunden til det med mellemrummene var at du ikke escapede...

# cp fil navn.jpg nytnavn.jpg //tror fil skal renames til navn.jpg
Istedet skulle det være
# cp fil\ navn.jpg nytnavn.jpg

mvh
Johan


Mikkel Bundgaard (22-05-2003)
Kommentar
Fra : Mikkel Bundgaard


Dato : 22-05-03 22:02

Hej,

Det skal bruges til noget familie hjemmeside :) Så sikkerhed er ikke så
vigtig - er desuden MEGET MEGET ny med PHP, så derfor melder jeg ikke
lige ud med min sovs da det er lidt pinligt med min slamkode *rødmer*.


Bukker meget og siger tak for tiden du gad at bruge, det kigger jeg lige
på :)



/Hilsen Mikkel

Johan Holst Nielsen wrote:
>
>
> Mikkel wrote:
>
>> Hej,
>>
>> Her er skidtet eller slamkoden :)
>>
>> $unixtid = time();
>>
>> // Nedenstående kopierer skidtet
>> if ($upload="true") {
>>
>> $fil_navn = $_FILES['filename']['name'];
>>
>> exec("cp $filename $rejse_dir/$unixtid.$fil_navn");
>> exec("chmod 0644 $rejse_dir/$unixtid.$fil_navn");
>>
>> if (file_exists("$rejse_dir/$unixtid.$fil_navn")) {
>>
>> open_sql();
>> $sql = "Insert INTO rejser(navn,beskrivelse,filnavn,brugernavn)
>>
>> values('$_rejsenavn','$_rejse_beskrivelse','$unixtid.$fil_navn','$id_');";
>>
>>
>> sql_spoerg($sql);
>> luk_sql_forbindelse();
>>
>> echo "<h5>rejse uploadet...</h5>";
>>
>> }
>> }
>
>
>
> FØJ! Der mangler validering til den store guldmedajle,... omskrivning af
> scriptet...
> <?php
> $unixtid = time();
> if($upload="true") {
> if(move_uploaded_file($_FILES['filename']['tmp_name'],$rejse_dir/$unixtid.$_FILES['filename']['name']))
> {
> chmod($rejse_dir/$unixtid.$_FILES['filename']['name'], 0644);
> if(file_exists("$rejse_dir/$unixtid.$_FILES['filename']['name']")) {
> open_sql();
> $sql = "Insert INTO rejser(navn,beskrivelse,filnavn,brugernavn)
> values('$_rejsenavn','$_rejse_beskrivelse','$unixtid.$_FILES['filename']['name']','$id_');";
>
> sql_spoerg($sql);
> luk_sql_forbindelse();
> echo "<h5>rejse uploadet...</h5>";
> }
> }
> ?>
>
> Sådan... lige lidt mere validering ville heller ikke gøre skade? men ved
> ikke hvad systemet skal bruges til...
>
> bemærk... brug ALDRIG direkte system kommandoer UDEN at validere input
> :) Det kan gå fatalt galt ;)
>
> Iøvrigt grunden til det med mellemrummene var at du ikke escapede...
>
> # cp fil navn.jpg nytnavn.jpg //tror fil skal renames til navn.jpg
> Istedet skulle det være
> # cp fil\ navn.jpg nytnavn.jpg
>
> mvh
> Johan
>


Peter Brodersen (22-05-2003)
Kommentar
Fra : Peter Brodersen


Dato : 22-05-03 21:52

On Thu, 22 May 2003 11:15:29 +0200, "Mikkel" <spam_news@notfound.dk>
wrote:

>if ($upload="true") {

Mon ikke, det bør være:

if ($upload=="true") {

...?
--
- Peter Brodersen

Johan Holst Nielsen (23-05-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 23-05-03 08:33



Peter Brodersen wrote:
> On Thu, 22 May 2003 11:15:29 +0200, "Mikkel" <spam_news@notfound.dk>
> wrote:
>>if ($upload="true") {
>
>
> Mon ikke, det bør være:
>
> if ($upload=="true") {
>

Wups, den havde jeg også overset i mit eksempel, den skal også lige
laves om ved mit ;)

mvh
Johan


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste