Kom ihåg mig?
Home Menu

Menu


Lagra bilder i databasen

Ämnesverktyg Visningsalternativ
Oläst 2005-01-16, 11:45 #1
deepblue51 deepblue51 är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 4
deepblue51 deepblue51 är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 4
Förutsättningarna är att sidan kommer att hantera ett stort antal bilder och ett stort antal bildvisningar. Antingen så kan jag lägga bilderna direkt i filsystemet och bara lagra länkarna i databasen (en MySQL-databas) eller så lägger jag in bilderna direkt i databasen (datatypen BLOB eller LONGBLOB). Båda alternativen är ju fullt möjliga så det jag funderar på är tänkbara för- och nackdelar.

- Vilket alternativ erbjuder bäst prestanda?
- Vilket alternativ erbjuder bäst säkerhet?
- Om sidan ska flyttas från en host till en annan. Är det något av alternativen som ställer till med mycket problem?
- Andra tänkbara för- och nackdelar.

Jag är ska precis påbörja utvecklingen och är tacksam för alla svar.

MVH,
Ludvig
deepblue51 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-16, 17:12 #2
zorans avatar
zoran zoran är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jun 2004
Inlägg: 598
zoran zoran är inte uppkopplad
Mycket flitig postare
zorans avatar
 
Reg.datum: Jun 2004
Inlägg: 598
Citat:
Originally posted by deepblue51@Jan 16 2005, 12:45
Förutsättningarna är att sidan kommer att hantera ett stort antal bilder och ett stort antal bildvisningar. Antingen så kan jag lägga bilderna direkt i filsystemet och bara lagra länkarna i databasen (en MySQL-databas) eller så lägger jag in bilderna direkt i databasen (datatypen BLOB eller LONGBLOB). Båda alternativen är ju fullt möjliga så det jag funderar på är tänkbara för- och nackdelar.

- Vilket alternativ erbjuder bäst prestanda?
- Vilket alternativ erbjuder bäst säkerhet?
- Om sidan ska flyttas från en host till en annan. Är det något av alternativen som ställer till med mycket problem?
- Andra tänkbara för- och nackdelar.

Jag är ska precis påbörja utvecklingen och är tacksam för alla svar.

MVH,
Ludvig
Prestanda erbjuds bäst med filer på filsystemet.

Säkerhet är ju densamma på båda om du håller tungan rätt i munnen. Om du vill begränsa åtkomsten till bilderna så har du två val. Antigen jobbar du med autenticeringen med Apache mha .htaccess-filen. Då kommer bara inloggade användare komma åt bilderna om de ligger i en katalog som skyddas av .htaccess och kräver valid user.

Ett annat sätt att skydda sig är ju att du hanterar sessioner i PHP (vilket ger lite bättre sessionskontroll och är lite snyggare). Då kan ju alla komma åt bilderna om de listar ut var dem är. Men vad du kan göra då är att ha en bildwrapper skriven i PHP. Alltså ett skript som man anropar när man ska se bilderna. Denna skript kontrollerar sessionsdata och kollar att användaren är inloggad och sen öppnar bilderna på filsystemet. Dessa bilder kan sen liga helt utanför webb-roten eller i en .htaccess-skyddad katalog som helt förbjuder http-access. (PHP-skriptet kommer fortfarande kunna komma åt filerna).

Jag skulle tippa att flytt av data är enklast när bilderna ligger på filsystemet.

Fördelarna med att ha bilder i databasen är väl om du har många småbilder. Likaså ifall du vill replikera din data till en annan server.

Det är dock så att man får mer bekymmer än vinst.

Till det vill jag dock tillägga att jag kört med bilder i databasen och det har fungerat fint. Lite segt, men fint.

Jag tror att exempelvis en community där du kanske vill låta användarna lagra även andra binära filer kan ha nytta av det.

/Zoran
zoran är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-16, 17:42 #3
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Jag antar att det här inte kommer som en nyhet för dig deepblue, men filsystemen är gjorda för att lagra filer i. Välj ett filsystem som är lämpat åt just den filstruktur (antal kataloger, antal filer per mapp och framförallt storleken på filerna) du tänkt använda så går det undan. Det blir ju galet jobbigt att hantera grejerna i databasen jämfört med att hantera filer. Jobbigt som attan när du upptäcker att databas-partitionen börjar bli full eller när du skulle vilja sprida ut arbetet på flera diskar.
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-01-16, 18:19 #4
deepblue51 deepblue51 är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 4
deepblue51 deepblue51 är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2004
Inlägg: 4
Tack för hjälpen,

Då lutar det åt att jag kör bildfilerna i en mapp utanför webbrooten och en bildwrapper som visar bilderna. Bildwrappern får kontrollera att användaren har rätt säkerhetsbehörighet enligt zorans modell.

/Ludvig
deepblue51 är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 21:58.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017