[PHP] Md5_file() laadt hele bestand?

Pagina: 1
Acties:
  • 257 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik md5_file() gebruik om vanaf mijn eigen server de hash van files op een andere server te checken, laadt php hierbij de hele file? In dat geval zou het dus voor beide servers bandbreedte kosten.

Kon er niets duidelijks over vinden, ben benieuwd.

Acties:
  • 0 Henk 'm!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 21-08 11:20
Lijkt me logisch he... hij moet eerst weten wat de inhoud van een bestand is om er daarna een hash over te berekenen. Een oplossing om bandbreedte te verminderen is een pagina maken die de md5_file() berekent en die retourneert...

Dus:
I.p.v. md5_file("http://www.server.tld/file.ext") vraag je om: file_get_contents("http://www.server.tld/getmd5.php?file=file.ext"); en dan laat je die getmd5.php de md5 berekenen en retourneren.

We are shaping the future


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Ja, en dat dan cachen, natuurlijk. Anders kan het een mooie DoS worden :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

Verwijderd

Room42 schreef op maandag 07 januari 2008 @ 04:53:
Ja, en dat dan cachen, natuurlijk. Anders kan het een mooie DoS worden :)
Nee natuurlijk niet cachen, de truc achter de MD5 zal wel zijn om te checken of een file niet gewijzigd is tussendoor en dan helpt cachen niet zoveel ;)

Wel natuurlijk even fatsoenlijke security erop (IP based moet genoeg zijn)

[ Voor 10% gewijzigd door Verwijderd op 07-01-2008 05:04 ]


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 22:47
Verwijderd schreef op maandag 07 januari 2008 @ 05:03:
Nee natuurlijk niet cachen, de truc achter de MD5 zal wel zijn om te checken of een file niet gewijzigd is tussendoor en dan helpt cachen niet zoveel ;)
Ik gok dat die controle niet 20x per seconde uitgevoerd hoeft te worden - dat kun je clientside implementeren (in de clientserver dus) maar mooier nog is op de fileserver gewoon hashes opslaan - in een database bijvoorbeeld met een timestamp erbij en alleen een nieuwe hash berekenen als er weer een half uurtje voorbij is oid. Anders trek je namelijk wel degelijk de fileserver dicht als er flink wat load op komt :+

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op maandag 07 januari 2008 @ 05:03:
[...]

Nee natuurlijk niet cachen, de truc achter de MD5 zal wel zijn om te checken of een file niet gewijzigd is tussendoor en dan helpt cachen niet zoveel ;)

Wel natuurlijk even fatsoenlijke security erop (IP based moet genoeg zijn)
Hmmm, beetje fatsoenlijke webserver geeft voor zover ik weet toch gewoon een last-modified date mee. Is dit hier dan niet beter voor te gebruiken?

Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Gomez12 schreef op maandag 07 januari 2008 @ 19:40:
Hmmm, beetje fatsoenlijke webserver geeft voor zover ik weet toch gewoon een last-modified date mee. Is dit hier dan niet beter voor te gebruiken?
Lijkt me wel logischer. Een E-Tag zou ook prima werken.

Rustacean

Pagina: 1