Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

PDF uploaden naar website

Pagina: 1
Acties:

  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Hallo,

Ik heb een website gemaakt met behulp van html/php/mysql en deze draait op een apache server. Deze apache server draait vervolgens op een raspberry pi. Nu wil ik dat bezoekers pdf bestanden kunnen uploaden naar mijn website. Nu heb ik hierover enkele vragen:
- Wat zijn de risico's hiervan?
- Ik heb de volgende tutorial gevonden, http://www.w3schools.com/php/php_file_upload.asp, is dit een veilige manier om bestanden up te loaden?

Alvast bedankt

  • Damic
  • Registratie: September 2003
  • Laatst online: 21:39

Damic

Tijd voor Jasmijn thee

Heb je dan een andere manier (buiten java) om bestanden te uploaden?

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • Cartman!
  • Registratie: April 2000
  • Niet online
In principe is het afhandelen van user uploads altijd gevaarlijk. Het veiligst is om een bestand te scannen op virussen en/of te checken door een tool die het bestand openen (PDF met een PDF reader, afbeeldingen met bijv gdlib of imagick, video met ffmpeg etc). Zelfs dan kan het nog riskant zijn, hangt ook af van hoe kritiek hetgeen is dat je wilt maken natuurlijk :)
Damic schreef op dinsdag 06 januari 2015 @ 20:17:
Heb je dan een andere manier (buiten java) om bestanden te uploaden?
Pardon?

[ Voor 20% gewijzigd door Cartman! op 06-01-2015 20:28 ]


  • Merethil
  • Registratie: December 2008
  • Laatst online: 21:36
Cartman! schreef op dinsdag 06 januari 2015 @ 20:24:
In principe is het afhandelen van user uploads altijd gevaarlijk. Het veiligst is om een bestand te scannen op virussen en/of te checken door een tool die het bestand openen (PDF met een PDF reader, afbeeldingen met bijv gdlib of imagick, video met ffmpeg etc). Zelfs dan kan het nog riskant zijn, hangt ook af van hoe kritiek hetgeen is dat je wilt maken natuurlijk :)


[...]

Pardon?
Ik gok dat Damic doelt op "Ja het is via een HTML file-upload-tag of via een Java Applet, veel meer kan je niet vinden". En dat klopt wel, alleen gaat het volgens mij de TS meer om de PHP erachter dan het stukje HTML wat een file-upload-field spawned :P

  • The Milkman
  • Registratie: Maart 2004
  • Laatst online: 29-09 21:41

The Milkman

█████░░░░░ 50%

Idealiter laat je de bestanden naar een fileserver uploaden, die als sandbox fungeert.

𓆑 𓆑 𓆑 𓆑 𓆑 𓆑


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Ik ben het gewend van W3Schools, maar wat een slechte tutorial. Nergens zeggen ze iets over de risico's van bijvoorbeeld het overschrijven van systeembestanden. Nergens bedenken ze dat getimagesize() misschien niet de beste functie is als je alleen het mime-type van het bestand wil weten. Nergens checken ze $_FILES["fileToUpload"]["error"] tegen de vele foutcodes die een upload kan teruggeven.

Mijn advies: blijf ver vandaan bij W3Schools. Het is niet meer zo slecht als het ooit was, maar het is nog steeds geen goeie plek om als beginner te starten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 07:53

Reptile209

- gers -

Je tutorial is toegespitst op het checken of een file een geldige afbeelding bevat. Dat zal voor een pdf niet werken. Misschien is daar wel weer een andere check voor te doen, maar dat zou je moeten uitzoeken. Let op dat het controleren van extensie alleen niet altijd zaligmakend is, vandaar dat het script probeert of de file geldige image-afmetingen heeft.

Moeten de bestanden die worden geupload ook toegankelijk worden voor de andere bezoekers, of alleen voor jou? Dat kan ook nog wel schelen in hoe zwaar je moet willen checken.

Zo scherp als een voetbal!


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Het is de bedoeling dat de files worden geüpload naar een map op de server. Dan kijk ik af en toe in de map en zet de files als ze nuttig zijn op de website. Het is voor het delen van manuals en technische bladen over communicatie apparatuur. Er staat redelijk belangrijke informatie op de server. Er staat een encryptie spel op met username, password en scores, eventueel een email adres maar meer niet. Geen grote hoeveelheid persoonlijke gegevens (het is een hobby project dus dit wil ik niet).

  • Damic
  • Registratie: September 2003
  • Laatst online: 21:39

Damic

Tijd voor Jasmijn thee

@merethil: dat bedoelde ik :)

Wat jekan doen is als het bestand in de tmp map staat van php, het bestand inlezen en de header zoeken, komt dit niet overeen met wat het origineel bestand zou moeten zijn dan geef je lekker een error terug. Volgens mij geeft php die zelf mee in de file upload vars.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • aaitje
  • Registratie: Mei 2012
  • Laatst online: 18-11 20:12
Waarom laat je mensen niet gewoon mailen naar een g-mail oid? Geen je gratis opslagruimte, security en scanning op virussen. Dan kan jij vanuit die mailbox bestanden screenen en eventueel op je website zetten.

  • Cartman!
  • Registratie: April 2000
  • Niet online
Vindhet idee van aaitje helemaal zo gek nog niet, laat Google dat scannen lekker voor je doen. Ook het checken van headers is niet geheel veilig, je kan dingen als fileinfo vaak makkelijk voor de gek houden. Een afbeelding kan potentieel gevaarlijk zijn om even door gdlib te mikken, er zijn flink wat systemen gehackt met malafide afbeeldingen die buffer overflows veroorzaakten in pnglib... Is allemaal relatief maar dit zijn echt dingen die bij securityscans naar voren komen.

  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Bedankt voor de reacties. Ik heb inderdaad een email adres, maar uploaden leek de de drempel wat verlagen. Maar ik laat het verlopig bij gmail. Er komt toch vrij veel bij kijken om het echt goed te doen.

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 10:07

pietje63

RTFM

Je kunt ook de tussenweg toepassen. Gebruikers uploaden het bestand, je backend verstuurt het naar je Gmail.

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik heb welleens gekeken naar het versturen naar gmail. Maar dan moet ik een mailserver gaan draaien toch?

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 10:07

pietje63

RTFM

Goede vraag. Mijn ervaring is dat de meeste php installaties out of the box e-mails kunnen versturen. Een mailserver is overdreven (je hoeft geen mails te ontvangen).

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 28-09 06:30
Ik heb daar een keer naar gezocht maar kon toen geen goede tutorial vinden.

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 18:33
tj.jackel schreef op donderdag 08 januari 2015 @ 13:46:
Ik heb daar een keer naar gezocht maar kon toen geen goede tutorial vinden.
Kijk eens: https://www.google.nl/web...8#q=php%20mail%20tutorial

  • ParadoxMedia
  • Registratie: September 2012
  • Laatst online: 03-10 19:06
Mijn fout, de eerder gelinkte site is nu niet meer voorzien van content. 8)7

Wat misschien nog wel handig kan zijn is deze vraag op stack overflow

http://stackoverflow.com/...g-pdf-or-doc-and-security

in combinatie met:

http://php-clamav.sourceforge.net/ om te scannen voor virussen.

Hope this helps

[ Voor 151% gewijzigd door ParadoxMedia op 08-01-2015 14:03 ]

Pagina: 1