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