[php] Upload Script en MD5 hash

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil een upload script maken in php die bestanden upload en opslaat onder hun md5 hash.
Kan iemand mij een voorbeeld geven (Scriptje). Heb al op veel sites gezocht maar nergens een klein voorbeeldje.

Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
define 'onder hun md5 hash'. wat wil je nou precies :?

en scriptrequests zijn not done. Zie de FAQ.

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
wat hij dus wil is dat de file wordt opgeslagen in een database oid, met als key voor die file de md5 van de file :? Wat is dat voor onnuttigs?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nou wat de bedoeling is is dat ik een script maak om plaatjes up te loaden.
Nou heb ik hier in got gelezen dat sommige mensen hun bestanden opslaan met als filename de md5 hash van het bestand. Zodat er geen dubbele bestanden komen. Nou heb ik overal gezocht naar een voorbeeldje. Maar nergens kan ik iets vinden.

Zwippie dat had ik al doorgelezen.

[ Voor 6% gewijzigd door Verwijderd op 05-01-2004 02:17 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 05 januari 2004 @ 02:14:
Nou wat de bedoeling is is dat ik een script maak om plaatjes up te loaden.
Nou heb ik hier in got gelezen dat sommige mensen hun bestanden opslaan met als filename de md5 hash van het bestand. Zodat er geen dubbele bestanden komen. Nou heb ik overal gezocht naar een voorbeeldje. Maar nergens kan ik iets vinden.
Ik neem aan dat je de bestandsnamen ook in iets opslaat als een database; vervolgens neem je de primary key als bestandsnaam en het probleem is ook opgelost.

* gorgi_19 ziet het nut niet van een MD5-hash

[ Voor 4% gewijzigd door gorgi_19 op 05-01-2004 02:18 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Lees het nou sorry voor script request

Acties:
  • 0 Henk 'm!

  • Tomsworld
  • Registratie: Maart 2001
  • Niet online

Tomsworld

officieel ele fan :*

gorgi_19 schreef op 05 januari 2004 @ 02:17:
[...]

Ik neem aan dat je de bestandsnamen ook in iets opslaat als een database; vervolgens neem je de primary key als bestandsnaam en het probleem is ook opgelost.

* gorgi_19 ziet het nut niet van een MD5-hash
Of je doet zoals t.net en renamed ze naar de unixtime, lijkt me ook vrij uniek. Maar zoiets kan je toch zelf bedenken TS.

"De kans dat een snee brood op een nieuw tapijt valt met de beboterde zijde onderaan, is recht evenredig met de prijs van het tapijt"


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 05 januari 2004 @ 02:30:
Lees het nou sorry voor script request
:?
Oftewel: je wilt gewoon een MD5-hash aanmaken; ondanks dat er eenvoudigere methodieken zijn, maar dat maakt niet uit?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
gorgi_19 schreef op 05 januari 2004 @ 02:17:
[...]

* gorgi_19 ziet het nut niet van een MD5-hash
Dan kan men je database niet "surfen" door simpelweg het ID te verhogen voor 't volgende plaatje :)

Kbedoel, wie oh wie kan bij het volgende plaatje ipv het XHTML-logo óók het CSS-logo vinden? :)

Afbeeldingslocatie: http://images.osiris.sapcentrifuge.net/?action=get&id=7bfa32686d200c64cb46de03ac2eac0d

Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
ja, maar als 2 mensen dus exact het zelfde ding willen uppen, dan is de md5 gelijk, en gaat dat problemen geven :? Pak dan de md5 van een $rand of zo :?

Acties:
  • 0 Henk 'm!

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 03-07 23:56

Engineer

Software

.

[ Voor 99% gewijzigd door Engineer op 13-10-2018 11:01 ]


Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
het lijkt mij lastig ordenen; ik zou dan eerder een grappige formule gebruiken die eerst het serienummer in iets totaal anders omzet, en die md5't (dus ook iets met behulp van nummers -> letters/karakters doen) :) (ik hou van duid'lijke keys in m'n db's :P)

[ Voor 20% gewijzigd door HunterPro op 05-01-2004 02:44 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Osiris schreef op 05 januari 2004 @ 02:38:
[...]

Dan kan men je database niet "surfen" door simpelweg het ID te verhogen voor 't volgende plaatje :)
Als dat het enige is, gooi je encrypty over het id heen. DES, Ryndael, weet ik veel wat voor mogelijkheden je nog meer hebt.. Eer ze die key hebben achterhaald...

[ Voor 24% gewijzigd door gorgi_19 op 05-01-2004 02:45 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ik gebruik inderdaad wel random hashes ofcourse HunterPro :)
gorgi_19 schreef op 05 januari 2004 @ 02:44:
[...]

Als dat het enige is, gooi je encrypty over het id heen.
tja, da's dan ook 't enige nut wat ik voor de hash kan bedenken :)

[ Voor 67% gewijzigd door Osiris op 05-01-2004 02:45 ]


Acties:
  • 0 Henk 'm!

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 03-07 23:56

Engineer

Software

.

[ Voor 100% gewijzigd door Engineer op 13-10-2018 11:01 ]


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Overigens lijkt me een md5-hash van een id ook niet handig zonder de methode die hdd noemt (id + tijd), anders kun je immers ?id=md5(id) "pakken" om alsnog te kijken als je dat nuttig acht :)

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Osiris schreef op 05 januari 2004 @ 02:44:
Ik gebruik inderdaad wel random hashes ofcourse HunterPro :)
[...]

tja, da's dan ook 't enige nut wat ik voor de hash kan bedenken :)
Mja... Dan heb ik op m'n FS er helemaal niets mee te maken met die gehash'te zut. :P

DL <> BL <> encrypty <> presentatie

een beetje foute weergave, maar je snapt het idee; alleen in het stukje 'communicatie' is nu de boel onder encrypty geplaats, voor de rest heb je allemaal 'normale' namen voor de binnenwereld.

[ Voor 8% gewijzigd door gorgi_19 op 05-01-2004 02:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

misschien een ideetje om alleen de exacte file grootte op te slaan

hoe vaak zal je zien dat een bestand op de byte precies even groot is?
hangt natuurlijk wel van het type bestanden af, bij sommige fototoestellen is het wel zo namelijk

Blog [Stackoverflow] [LinkedIn]


Acties:
  • 0 Henk 'm!

  • Engineer
  • Registratie: Juni 2001
  • Laatst online: 03-07 23:56

Engineer

Software

.

[ Voor 99% gewijzigd door Engineer op 13-10-2018 11:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik bedoel dat bijna ieder bestand een unieke md5 hash heeft.
Dus ook al veranderd iemand de bestandsnaam de md5 hash blijft hetzelfde.
De md5 hash veranderd alleen als het bestand veranderd is.
Zo kun je dus checken of het bestand al bestaat.

Later zou je eventueel nog kunnen kijken of iemand het bestand heeft aangepast.

[ Voor 5% gewijzigd door Verwijderd op 05-01-2004 03:02 ]


Acties:
  • 0 Henk 'm!

Verwijderd

///formke om file in te posten

<form action="post.php" method="post" enctype="multipart/form-data" name="form">
<input name="file" type="file" /><br />
<br />
<input name="submit" type="submit" value=": Uppen maar! :" />
</form>


////post.php
<?php
$file_name = stripslashes(preg_replace("/'/","^",$_FILES['file']['name'])); // remove illegal ' from filename (conflicts with sql query)
move_uploaded_file($_FILES['file']['tmp_name'],"/".$file_name); // move file
echo $file_name." deze file staat nu tijdelijk op de server";
$handle = fopen ($file_name, "r");
$contents = fread ($handle, filesize ($file_name));

$db=serialize($contents);

//uploaden naar database

fclose($handle);

delete($filename);


?>


dit is hoe ik eraan zou beginnen. om veilig te zijn zou ik er wel iets tussensteken dat checkt of er per toeval geen andere tijdelijke file op de server staat met dezelfde naam.
Succes

Acties:
  • 0 Henk 'm!

  • Expander
  • Registratie: Februari 2001
  • Niet online
En om het nog lastiger te maken, volgens mij kunnen twee totaal verschillende plaatjes toch dezelfde MD5 hash opleveren.

Anders zou de hash even veel informatie bevatten als het plaatje zelf, da's meer compressie.

Expanding the inexpandable


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

En om het nog lastiger te maken, volgens mij kunnen twee totaal verschillende plaatjes toch dezelfde MD5 hash opleveren.
Klopt, maar dat is wel een hele kleine theoretische kans. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom niet alsnog een check ertussen bouwen die controleerd of de hash al een entry is in de DB? Lijkt me een kleine moeite.. En áls het voorkomt gewoon even netjes een melding geven dat:

a) de kans bestaat dat de afbeelding al een keer ge-upload is
b) de kans bestaat dat er een afb. is ge-upload met dezelfde naam.

?
Pagina: 1