abonnement bol.com Unibet Coolblue
pi_201475124
Ik heb een vps met daarop een website, daarop kan je inloggen, afbeeldingen uploaden en die vervolgens logischerwijs zelf zien.

Zelf zou ik graag willen dat niemand anders dan de ingelogde dat plaatje kan zien.

Dus 1 als je direct naar de link van de afbeelding gaat maar je bent niet ingelogd (en niet de rechten) dan wordt de afbeelding niet getoond.
En 2 dat je directory niet gescanned kan worden en je afbeeldingen gewoon met python bijvoorbeeld van je website gescraped kunnen worden.

Hoe pakken jullie dat aan? Alvast erg bedankt weer. Ik vraag dit aan jullie omdat ik wel vaker goed advies van jullie heb gehad, bedankt daarvoor nogmaals ^O^
pi_201478633
quote:
0s.gif Op woensdag 22 september 2021 20:31 schreef Phoenyx-God het volgende:
Ik heb een vps met daarop een website, daarop kan je inloggen, afbeeldingen uploaden en die vervolgens logischerwijs zelf zien.

Zelf zou ik graag willen dat niemand anders dan de ingelogde dat plaatje kan zien.

Dus 1 als je direct naar de link van de afbeelding gaat maar je bent niet ingelogd (en niet de rechten) dan wordt de afbeelding niet getoond.
En 2 dat je directory niet gescanned kan worden en je afbeeldingen gewoon met python bijvoorbeeld van je website gescraped kunnen worden.

Hoe pakken jullie dat aan? Alvast erg bedankt weer. Ik vraag dit aan jullie omdat ik wel vaker goed advies van jullie heb gehad, bedankt daarvoor nogmaals ^O^
Afbeeldingen buiten je webroot plaatsen en dmv mod rewrite het verzoek door scripting leiden. De scripting kan Authenticatie doen, juiste afbeelding ophalen en tonen
pi_201547274
quote:
0s.gif Op donderdag 23 september 2021 07:31 schreef investeerdertje het volgende:

[..]
Afbeeldingen buiten je webroot plaatsen en dmv mod rewrite het verzoek door scripting leiden. De scripting kan Authenticatie doen, juiste afbeelding ophalen en tonen
Waarom buiten de root? Je .htaccess kan toch gewoon in de root staan? Verbied directe downloads, maar stuur hele url's door naar een bestand voor de afhandeling.
_-L'avenir est déja là
pi_201547755
quote:
0s.gif Op maandag 27 september 2021 23:39 schreef Paddo het volgende:

[..]
Waarom buiten de root? Je .htaccess kan toch gewoon in de root staan? Verbied directe downloads, maar stuur hele url's door naar een bestand voor de afhandeling.
Oh het kan ook zeker met een .htaccess bestand. Maar dat is een aanvullende afhankelijkheid waarbij je met het buiten de document root sowieso de zekerheid hebt dat het beoogde doel werkt.

Een hele URL naar het bestand betekend dat het bestand zonder authenticatie opgevraagd zou kunnen worden. Of bedoel je een www.example.com/images/plaatje.png die gerewrite is naar images.php?image=plaatje.png (let op directory traversal) die vervolgens op het bestandssysteem /var/www/html/images/plaatje.png uitleest om deze te serveren. Want dan voldoende je wel aan de authenticatie eis
pi_201555550
Bedankt voor de reacties, wordt zeer gewaardeerd.

Is er ook ergens een handleiding voor? Ik heb namelijk wel wat gezocht, best wel over het laatste jaar af en toe, ik zou graag een stappenplan zien. Alvast erg bedankt weer :) ^O^

En ja ik heb te weinig kennis om wat jullie zeggen om te zetten naar concrete handelingen vandaar dat ik ook naar een handleiding vraag bij deze :)

[ Bericht 11% gewijzigd door #ANONIEM op 28-09-2021 19:29:52 ]
pi_201559227
quote:
0s.gif Op dinsdag 28 september 2021 06:01 schreef investeerdertje het volgende:

[..]
Oh het kan ook zeker met een .htaccess bestand. Maar dat is een aanvullende afhankelijkheid waarbij je met het buiten de document root sowieso de zekerheid hebt dat het beoogde doel werkt.
Als op mijn server de url https://mijndomein.nl/uploads/plaatje.jpg bestaat, is die te downloaden. Dat moet ik blokkeren, omdat de server eerst kijkt of een file gedownload mag worden, alvorens de regel dat de url naar een bestand doorgestuurd moet worden wordt uitgevoerd.

Maarrrr! Wat ik eerst zei over het in de root instellen is eigenlijk niet handig, want scripts en css / js bestanden moeten wel gewoon direct te downloaden zijn. Dus kies een map uit, en plaats daar een .htaccess bestand in:

1
2
RewriteEngine on
RewriteRule ^.*?$ /index.php/$0 [L]

Dit is mijn .htaccess bestand in de map /uploads/. Deze blokkade zorgt ervoor dat alle bestanden niet raadpleegbaar zijn "vanaf het internet". Het url verzoek wordt naar het bestand index.php in de root gestuurd.

De TS heeft het over ingelogd zijn. Hij gebruikt dus een programma (Wordpress??) waarmee sessies gecreerd worden, en dit programma moet de request ook afhandelen. Want er moet gechecked worden of je ingelogd bent. Ik ga dit even niet uitschrijven, omdat er ook nog een kans is dat wat anders bedoeld wordt. Maar in het kort:
• Maak een pagina in Wordpress die alleen gezien mag worden door ingelogden
• Voeg (via plugin?) custom code toe. Dat is PHP code speciaal voor deze pagina.
• Het .htaccess bestand verwijst naar de url van deze pagina.
• In deze custom code moet een header staan die past bij het type bestand. Voor plaatjes moet je meestal rekening houden met JPG, PNG en Gif.

Voorbeeld van php code
1
2
3
4
5
<?php
header
("Content-disposition: attachment; filename=" $this->file->name);
header("Content-type: " $this->contentTypes[$this->file->type]);
readfile("uploads/" $this->file->location);
?>

Waarbij de array $file gebruikt wordt voor de properties, en de $contentTypes een aftreksel zijn van deze informatie.

In bovenstaande php code laat ik PHP dus een header sturen naar een browser, zodat die weet dat er een download aankomt, van een bepaald type, waarna via de readfile het bestand wordt geopend in de map "uploads", en achter de header aangestuurd wordt naar de browser.
_-L'avenir est déja là
pi_201559500
quote:
0s.gif Op dinsdag 28 september 2021 23:18 schreef Paddo het volgende:

[..]
Als op mijn server de url https://mijndomein.nl/uploads/plaatje.jpg bestaat, is die te downloaden. Dat moet ik blokkeren, omdat de server eerst kijkt of een file gedownload mag worden, alvorens de regel dat de url naar een bestand doorgestuurd moet worden wordt uitgevoerd.

Maarrrr! Wat ik eerst zei over het in de root instellen is eigenlijk niet handig, want scripts en css / js bestanden moeten wel gewoon direct te downloaden zijn. Dus kies een map uit, en plaats daar een .htaccess bestand in:
[ code verwijderd ]

Dit is mijn .htaccess bestand in de map /uploads/. Deze blokkade zorgt ervoor dat alle bestanden niet raadpleegbaar zijn "vanaf het internet". Het url verzoek wordt naar het bestand index.php in de root gestuurd.

De TS heeft het over ingelogd zijn. Hij gebruikt dus een programma (Wordpress??) waarmee sessies gecreerd worden, en dit programma moet de request ook afhandelen. Want er moet gechecked worden of je ingelogd bent. Ik ga dit even niet uitschrijven, omdat er ook nog een kans is dat wat anders bedoeld wordt. Maar in het kort:
• Maak een pagina in Wordpress die alleen gezien mag worden door ingelogden
• Voeg (via plugin?) custom code toe. Dat is PHP code speciaal voor deze pagina.
• Het .htaccess bestand verwijst naar de url van deze pagina.
• In deze custom code moet een header staan die past bij het type bestand. Voor plaatjes moet je meestal rekening houden met JPG, PNG en Gif.

Voorbeeld van php code
[ code verwijderd ]

Waarbij de array $file gebruikt wordt voor de properties, en de $contentTypes een aftreksel zijn van deze informatie.

In bovenstaande php code laat ik PHP dus een header sturen naar een browser, zodat die weet dat er een download aankomt, van een bepaald type, waarna via de readfile het bestand wordt geopend in de map "uploads", en achter de header aangestuurd wordt naar de browser.
Hoezo staan de CSS en js bestanden in /uploads? Nogal een gaar design. Overigens is het ook een onnodige belasting om echt alles door je PHP scripting te duwen.
pi_201559547
quote:
1s.gif Op dinsdag 28 september 2021 23:57 schreef investeerdertje het volgende:

[..]
Hoezo staan de CSS en js bestanden in /uploads? Nogal een gaar design. Overigens is het ook een onnodige belasting om echt alles door je PHP scripting te duwen.
Hmmm Ff lezen, dat was waarom je niet je root blokkeert... Omdat onderliggende mappen zonder verdere acties onder het regime van de hoofdmap vallen. Dus als ik de root blokkeer moet ik moeite gaan doen om de map /css/ of /js/ wel downloadbaar te maken.

Volgens mij schreef ik het goed op, iets te snel gelezen?

En JA daarom moet je qua belasting niet de root doen (want submappen.,..) Maar dus bijvoorbeeld uploads, wat ik als voorbeeld nam. Als de TS inderdaad WP gebruikt, en voor ieder plaatje apart een PHP sessie opgezet moet worden (een pagina heeft al gauw meer dan 10 plaatjes) gaat dit snel met de belasting. WP kan aardig belasten...
_-L'avenir est déja là
pi_201559612
quote:
0s.gif Op woensdag 29 september 2021 00:04 schreef Paddo het volgende:

[..]
Hmmm Ff lezen, dat was waarom je niet je root blokkeert... Omdat onderliggende mappen zonder verdere acties onder het regime van de hoofdmap vallen. Dus als ik de root blokkeer moet ik moeite gaan doen om de map /css/ of /js/ wel downloadbaar te maken.

Volgens mij schreef ik het goed op, iets te snel gelezen?

En JA daarom moet je qua belasting niet de root doen (want submappen.,..) Maar dus bijvoorbeeld uploads, wat ik als voorbeeld nam. Als de TS inderdaad WP gebruikt, en voor ieder plaatje apart een PHP sessie opgezet moet worden (een pagina heeft al gauw meer dan 10 plaatjes) gaat dit snel met de belasting. WP kan aardig belasten...
Ts gebruikt bij mijn weten geen Wordpress of de wereld moet veranderd zijn.

Een individueel plaatje checken heb je niet heel Wordpress voor nodig.

Buiten de document root bedoel ik dus mee dat je geen htaccess nodig hebt om je plaatjes veilig te houden, security by design, in plaats van een dependency te plaatsen door een snel gemaakt foutje verpest kan worden.
pi_201571951
quote:
1s.gif Op woensdag 29 september 2021 00:18 schreef investeerdertje het volgende:

[..]
Een individueel plaatje checken heb je niet heel Wordpress voor nodig.
Lees jij eigenlijk waar je op reageert? Want volgens mij staat bij mij prima waarvoor ik vermoed dat de TS iets a la WP gebruikt (sessies, is vrij algemene oplossing voor leken)

quote:
1s.gif Op woensdag 29 september 2021 00:18 schreef investeerdertje het volgende:

[..]
Buiten de document root bedoel ik dus mee dat je geen htaccess nodig hebt om je plaatjes veilig te houden, security by design, in plaats van een dependency te plaatsen door een snel gemaakt foutje verpest kan worden.
Gaf je twee posts hoger niet aan dat .htaccess "sowieso werkt"?
quote:
Oh het kan ook zeker met een .htaccess bestand. Maar dat is een aanvullende afhankelijkheid waarbij je met het buiten de document root sowieso de zekerheid hebt dat het beoogde doel werkt.
Ik begin overigens denk ik te begrijpen wat je wil zeggen. Maar niet helemaal. "Buiten de root" betekent voor een programmeur "op een hoger level" (het target maakt geen deel uit de root of mappen die erin geplaatst zijn). Dus bijvoorbeeld buiten de /var/www/vhosts/ op een multidomein linux server. En dan heb je het over secure by design. Wil je uploads zo hoog plaatsen? Dat design ken ik niet, om security redenen.... (en correct me if i'm wrong)

[ Bericht 3% gewijzigd door Paddo op 29-09-2021 22:21:25 (ik beloof geen grapjes meer te maken) ]
_-L'avenir est déja là
pi_201572384
quote:
0s.gif Op woensdag 29 september 2021 21:54 schreef Paddo het volgende:

[..] Ben jij Rian van Rijbroek? :)
echt, jij verwacht nog een serieus antwoord? Als ts zinnig advies wil hoor ik het wel in een dm van ts.
pi_201572459
quote:
0s.gif Op woensdag 29 september 2021 22:16 schreef investeerdertje het volgende:

[..]
echt, jij verwacht nog een serieus antwoord? Als ts zinnig advies wil hoor ik het wel in een dm van ts.
Wilde je niet boos maken, en ik vermoed dat je het gewoon verkeerd opschrijft met je "Buiten de root". Dus vandaar dit grapje. En dat verhaspelen deed RvR ook, ven dèr. Ik zal het weghalen. :@
_-L'avenir est déja là
pi_201573404
quote:
0s.gif Op woensdag 29 september 2021 22:20 schreef Paddo het volgende:

[..]
Wilde je niet boos maken, en ik vermoed dat je het gewoon verkeerd opschrijft met je "Buiten de root". Dus vandaar dit grapje. En dat verhaspelen deed RvR ook, ven dèr. Ik zal het weghalen. :@
Buiten de webroot. Zal het even volledig zeggen. Iets buiten / zetten gaat niet eh. Een shared hoster die gelijk de vhost map serveert moet je bij wegrennen. Die hebben dan meer niet op orde.
pi_201584687
Ik ga morgen of zaterdag reageren. Bedankt voor de reacties beste mensen

[ Bericht 4% gewijzigd door #ANONIEM op 30-09-2021 21:05:22 ]
abonnement bol.com Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')