en pt nl nl en en nl en nl nl nl nl nl nl nl nl nl nl en nb nl en en en nl en nl nl nl da nl nl nl en nl en en
Hoi, ik heb geen ervaring met (laten) bouwen van websites maar heb de volgende vraag: Is het mogelijk om bij een bestaande website een x aantal subwebsites te laten maken waar bezoekers een bestand kunnen uploaden waarna het betreffende bestand direct zichtbaar is (bij het volgende bezoek aan de betreffende subwebsite) nadat het bestand is geüpload? Alvast dank voor jullie reactie!
Hoi Freekd , allereerst welkom op DevNL!
Als ik je goed begrijp probeer je subdomeinen (bijvoorbeeld username.jouwdomein.nl) te gebruiken waarop je gebruikers bestanden kunnen uploaden?
Indien elke gebruiker een eigen subdomein heeft:
Dat is zeker mogelijk, je zou in dat geval een webserver moeten opzetten die luistert naar alle subdomeinen van je hoofddomein, je zal dan een @ A record moeten toevoegen aan je DNS records die verwijst naar het IP adres van je luisterende webserver.
Deze webserver zou je dan zo kunnen inrichten dat die naar elk subdomein luistert maar ondertussen één specifieke 'placeholder' domein weergeeft waar je de data verwerkt (houd dus eigenlijk in, alle subdomeinen worden naar één domein gestuurd). Je kan dan met PHP bijvoorbeeld de URL uitlezen en bepalen welk subdomein het is. Daarna zou je dan de bestanden kunnen weergeven of iemand bestanden kunnen laten uploaden.
Het kan technisch best ingewikkeld worden, want ik neem aan dat je niet zou willen dat gebruikers bestanden kunnen uploaden op iemand anders zijn subdomein, je zou dan een login beveiliging moeten bouwen om dat te voorkomen.
Om het verhaal kort te houden, ja het zeker mogelijk 🙂
Indien je alleen bestanden wilt uploaden vanaf een subdomein:
In dat geval zou je een bestanden.jouwdomein.nl kunnen opzetten waar mensen alleen hun eigen bestanden kunnen zien en uploaden. Dan zou je op basis van IP adres kunnen kijken welke gebruiker het is om bestanden weer te geven, maar dat zou ik persoonlijk niet aanraden om te doen. Dat zou je beter een login systeem er rondom kunnen bouwen met account beveiliging. Dan kun je de bestanden namelijk ook beter beveiligen.
Laat me weten of dit helpt!
Dank voor je snelle en uitgebreide reactie! Het idee is eigenlijk dat je een website hebt (bijvoorbeeld bestanden.nl) met verschillende (vooraf aangemaakte) subwebsites bijvoorbeeld bestanden.nl/fredejsh34d of bestanden.nl/6fsd7rlly etc. waarbij elke subwebsite een uploadfunctie heeft en dat zodra een bezoeker een bestand heeft geüpload naar een van de subwebsites dat vanaf dat moment het geüploade bestand direct te openen is vanaf de betreffende subwebsite. Ik wil dus niet met domeinen of login of iets dergelijks werken. Het idee is dat elke willekeurige bezoeker een bestand kan uploaden en de link vervolgens kan delen met de beoogde ontvanger van het bestand. Het idee is om het publiek toegankelijk te maken en juist niet met een login te werken waarbij alleen de uploader en de ontvanger van het bestand de link te zien krijgen. Door een ingewikkelde URL te gebruiken zal niet iedereen zomaar de link kunnen vinden en het bestand kunnen openen. Daarnaast blijven bestanden maar voor een beperkte tijd beschikbaar. Is zoiets mogelijk om te laten ontwikkelen? Dank alvast voor je reactie!
Bedankt voor de toelichting! Dit soort applicaties zijn zeker goed te ontwikkelen. Al moet je wel rekening houden met verschillende variabelen zoals waar de opslag van de bestanden die worden geüpload komt en hoeveel bandbreedte per server beschikbaar is. Overigens begrijp ik uit je verhaal dat de URL's waar mensen hun bestanden kunnen uploaden altijd het zelfde blijven, zoals /suburl1 en /suburl2 en dat alle bestanden een bijzonder naam krijgen zoals /uploads/9fj4jfn0masm5gu?
Wanneer je daadwerkelijk een systeem wilt ontwikkelen zal je ook moeten beslissen welke content je wilt toestaan die gebruikers kunnen uploaden, alle soorten bestanden of enkel de kantoorbestanden zoals .zip, .rar, .doc, .ppt etc. Daarbij zou je ook rekening moeten houden met hoe groot de bestanden maximaal mogen zijn, voor het geval dat iemand een bestand van 100GB upload naar je server en je voor de opslag moet betalen.
Automatisch bestanden verwijderen/beperkte zichtbaarheid
Door middel van server side cronjobs heb je de mogelijkheid om oude bestanden na verloop van tijd automatisch op de achtergrond te laten verwijderen van je server. Je zou in de database bijvoorbeeld de upload datum (en tijd) kunnen bijhouden om deze dan met een database query op te halen, bijvoorbeeld: weergeef alle bestanden die ouder zijn dan 24 uur. Een andere mogelijkheid is om een einddatum toe te voegen die de gasten kunnen kiezen bij het uploaden. Dan kun je zoeken naar de bestanden waarvan de tijd is verlopen om deze daarna van je server te verwijderen.
Zoals ik al eerder zei, opslag is bij een upload website enorm belangrijk. Je zou er voor kunnen kiezen om dat op de server zelf te doen, of verschillende uploadservers te huren waar alleen geüploade bestanden op staan. Het zou misschien voordeliger kunnen zijn om een Amazon cloud storage (AWS S3) bucket op te zetten voor de geüploade content. Hierdoor heb je alleen onderhoud aan het platform zelf en weet je zeker dat er verder weinig gebeurt met de geüploade bestanden, aangezien deze gewoon beschikbaar blijven en heb je er volledige controle over hebt.
Bestanden die je bijvoorbeeld op DevNL upload worden ook gehost op een AWS S3 bucket aangezien dat voor ons voordelig is en wij hierdoor het DevNL platform en de uploads gescheiden houden. Wel hebben we overigens een policy opgezet dat er voor zorgt dat afbeeldingen die worden geüpload deze niet te te gebruiken zijn andere websites (hotlinken), dan laden ze namelijk niet en scheelt dat ons AWS bandbreedte kosten.