Toon posts:

[PHP] Veilige upload dir maken...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey peeps,

Heb hier al wat rondgekeken naar een manier om met mkdir() een upload dir te maken die de juiste rechten heeft, maar het liefst wel zo veilig mogelijk is. Bezoekers moeten namelijk bestanden kunnen uploaden naar hun userdir... maar als het effe kan gebruik ik liever geen 0777-mode.

Is dat mogelijk?

  • Skinny
  • Registratie: Januari 2000
  • Laatst online: 25-07 18:17

Skinny

DIRECT!

Uhhh...

Rondkijken houdt volgens mij ook in.. zoeken.. En dan wel als eerste in de php manual.

http://www.php.net/manual/en/function.mkdir.php

SIZE does matter.
"You're go at throttle up!"


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Hoe ga je die upload doen? met HTTP of met FTP?

Ik neem aan dat je HTTP gaat gebruiken. In dat geval heb je een directory nodig die readable en writable is voor httpd (apache). Dat kun je bijvoorbeeld doen door apache de owner te maken.
Zowiezo is het verstandig om bij de upload geen PHP (of shtml) extentie toe te staan, om te voorkomen dat gebruikers willekeurige code kunnen uploaden en uitvoeren. Een .htaccess kan op zich het zelfde doel bereiken.

Localhost, sweet localhost


Verwijderd

Topicstarter
Daar zie ik door de bomen het bos niet meer :/

Besides, ALLES is op het web te vinden... dus als iedereen dat deed, zou het P&W behoorlijk leeg blijven.

Oh. En het script draait overigens op een Win2000 bak. Geen idee of dat invloed heeft op de syntax, maar toch... ik zeg het er even bij ;)

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 11:21
Verwijderd schreef op 18 oktober 2002 @ 16:40:
Besides, ALLES is op het web te vinden... dus als iedereen dat deed, zou het P&W behoorlijk leeg blijven.
Dat vind ik het meest belachelijke excuus dat ik sinds lange tijd gehoord heb om niet zelf eerst wat moeite te hoeven doen. Je hebt wel gelijk, maar dat is absoluut geen excuus. Eerder een reden om eens kritisch naar je eigen post te kijken.

In PHP topics zoek ik de antwoorden trouwens in meer dan de helft van de gevallen op in de PHP manual (vaak binnen een paar seconden, want ik weet meestal wel welke term ik moet gebruiken). Wat is nu precies de reden dat je dat zelf niet zou kunnen doen (of tenminste proberen)?

In dit geval gaat het er puur om dat je een directory wilt maken, die schrijfbaar is voor het proces dat er files in moet schrijven. (Dat klinkt logisch - en dat is het ook!) Als je er PHP uploaded files in gaat stoppen, zal je dus het proces van je webserver schrijfrechten moeten geven.

Uploaden naar home directories gaat doorgaans niet werken, tenzij je je PHP script laat chmod'en naar de juiste gebruikers (of er een nogal vreemde rechtenstructuur op nahoudt). Dan zullen die gebruikers uiteraard wel hun wachtwoord moeten invoeren. In dat geval zie ik echter niet in, waarom je een upload directory nodig heb. De home directory bestaat immers al?

Verwijderd

Topicstarter
Soultaker: "Daar zie ik door de bomen het bos niet meer" Was m'n excuus eigenlijk :p

Met userdir bedoel ik niet een dir in de /usr map, maar een door de admin aangemaakte map binnen de htdocs folder.

Ik ga dit maar es proberen:

umask(0000);
mkdir($user, 0777);

En inderdaad zorgen dat er geen script kunnen worden geupload ;)
Pagina: 1