Toon posts:

Static file authorization

Pagina: 1
Acties:

Vraag


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 12-01 13:54
Beste Tweakers,

Voor een ASP.net software programma kan een gebruiker inloggen op een website. Hierbij wordt gebruik gemaakt van het standaard ASP.net inlog systeem.
Op deze website is het mogelijk om een file te uploaden.
Deze file krijgt een gehashte naam in een map met een gehaste naam. Deze mappen staan weer in een uploadfile map in de www/root.

Zover ik weet is het bestand te benaderen zonder in te loggen als je het bestandspad weet (dus gehahste bestandsnaam en map naam).
De eerste vraag:
- Klopt dit?

Nu is de kans dat je deze gehaste namen raad klein maar het zou mooier zijn als de uploadfile map ook achter het inlogscherm zit. Stel dat je dan het pad naar het bestand weet dat je toch op het inlogscherm terechtkomt.

Bij het zoeken naar een oplossing hiervoor kwam de term Static file autorization voorbij:
https://learn.microsoft.c...files?view=aspnetcore-7.0
De toelichting staat halverwege de webpagina.

- Is deze techniek geschikt om het bovenstaande te realiseren?

Indien dit het geval is:
- Op de website wordt gesproken over dat je de files moet plaatsen in een map buiten de www/root. Is het ook mogelijk om dezelfde functionaliteit te krijgen maar dat met de upload map in de www/root?
Indien dit niet mogelijk is, wat is de oorzaak hiervan?

Ik heb de uitleg gelezen maar probeer met de bovenstaande vragen een een beeld te vormen of Static file autorization de goede richting is.

Alvast bedankt!

Alle reacties


  • foxgamer2019
  • Registratie: Februari 2009
  • Niet online
Het is inderdaad niet aan te raden om bestanden te uploaden in de public map, ook al hebben deze een hash.
Verder is het hashen ook niet zo handig, want je hebt geen enkel idee wat het voor een bestand is.

Ik heb helaas geen ASP.net kennis om je verder te helpen, maar normaal gebruik je een publieke controller die het bestand ophaalt uit een andere (niet public) map.

Forza Horizon 5? Voeg mij toe op Xbox Live. :)


  • Eric Z
  • Registratie: Juni 2013
  • Laatst online: 22-01 07:43
Of het klopt kan je zelf eenvoudig uitproberen, kopieer een url en open ook een prive venster van je browser. Daarin de url plakken en kijken wat er dan gebeurt.

Verder mist er wel wat informatie. Zo link je naar iets van asp.net core, maar is dat ook waar je gebruik van maakt? Als het al wat ouder is kan het ook in “.NET framework” gemaakt zijn. Dan is de documentatie waar je naar linkt niet van toepassing.

[Voor 10% gewijzigd door Eric Z op 11-01-2023 00:33]


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 12-01 13:54
foxgamer2019 schreef op dinsdag 10 januari 2023 @ 21:19:
Het is inderdaad niet aan te raden om bestanden te uploaden in de public map, ook al hebben deze een hash.
Verder is het hashen ook niet zo handig, want je hebt geen enkel idee wat het voor een bestand is.

Ik heb helaas geen ASP.net kennis om je verder te helpen, maar normaal gebruik je een publieke controller die het bestand ophaalt uit een andere (niet public) map.
Bedankt voor de reactie. Heeft u een voorbeeld van een publieke controller? Of een specifieke zoekterm hiervoor?

  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 12-01 13:54
Eric Z schreef op woensdag 11 januari 2023 @ 00:30:
Of het klopt kan je zelf eenvoudig uitproberen, kopieer een url en open ook een prive venster van je browser. Daarin de url plakken en kijken wat er dan gebeurt.

Verder mist er wel wat informatie. Zo link je naar iets van asp.net core, maar is dat ook waar je gebruik van maakt? Als het al wat ouder is kan het ook in “.NET framework” gemaakt zijn. Dan is de documentatie waar je naar linkt niet van toepassing.
Het is gemaakt in een .NET 6.0 framework en geschreven in Visual Studio.

  • Damic
  • Registratie: September 2003
  • Laatst online: 21:51
@tj.jackel .Net 6.0 is geen framework maar een core versie, deze verschilt van de framework versie.
.NET framework zit op v4.8.x

Ik weet dat in php je een temp naam en de echte naam krijgt als je een bestand upload en de temp staat ergens waar je als eind gebruiker (de website gebruiker) niet aankunt. Dan moet je zelf zien wat je met het bestand doet.

Juist even opgezocht en asp.net core heeft die functie ook. Je bestand word geüpload naar een temp folder en je moet die dan zelf verzetten (als ik snel diagonaal heb gelezen). https://learn.microsoft.c...loads?view=aspnetcore-6.0

[Voor 4% gewijzigd door Damic op 11-01-2023 19:58]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 23:43
Damic schreef op woensdag 11 januari 2023 @ 19:57:
@tj.jackel .Net 6.0 is geen framework maar een core versie, deze verschilt van de framework versie.
.NET framework zit op v4.8.x
.NET 6 is alles van de hele wereld, inclusief ASP.NET (Core)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Damic
  • Registratie: September 2003
  • Laatst online: 21:51
@farlane kan best zijn maar en programma in framework werkt niet in de core versie zonder aanpassingen, heb ik gemerkt. Is zo van alle waarom werkt dit nu niet, wacht welke versie heb ik genomen ha shit core en niet framework :F

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 17:36

Haan

dotnetter

@Damic je kunt er gerust van uit gaan dat de TS 'framework' gewoon letterlijk bedoelt, als in een framework waarmee je werkt.

Kater? Eerst water, de rest komt later


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 23:43
Damic schreef op woensdag 11 januari 2023 @ 20:22:
@farlane kan best zijn maar en programma in framework werkt niet in de core versie zonder aanpassingen, heb ik gemerkt. Is zo van alle waarom werkt dit nu niet, wacht welke versie heb ik genomen ha shit core en niet framework :F
Microsoft maakt een potje van z'n versies en namen, maar in principe bestaat het ".NET framework" niet meer in .NET 5+

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 20:54
Als je de bestanden binnen je applicatie wil houden: upload de bestanden naar de App_Data map, die is niet publiekelijk toegankelijk.

[Voor 25% gewijzigd door sig69 op 12-01-2023 01:09]

Roomba E5 te koop


  • tj.jackel
  • Registratie: Augustus 2014
  • Laatst online: 12-01 13:54
sig69 schreef op woensdag 11 januari 2023 @ 20:38:
Als je de bestanden binnen je applicatie wil houden: upload de bestanden naar de App_Data map, die is niet publiekelijk toegankelijk.
Bedankt voor uw reacties. Is het bestand benaderbaar nadat de gebruiker is ingelogd als gebruik wordt gemaakt van de App_Data map?

  • Zenomyscus
  • Registratie: September 2012
  • Laatst online: 23:25
Je kunt vervolgens een controler maken die op basis van de URL de inhoud van de file doorgeeft en de juiste mime type zet. Je roept dus eigenlijk een pagina aan ipv een bestand. Doordat je een pagina aanroept kun je controleren of een gebruiker is ingelogd. Zo ja, dan geef je de inhoud van die file terug.

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 20:54
tj.jackel schreef op donderdag 12 januari 2023 @ 08:01:
[...]


Bedankt voor uw reacties. Is het bestand benaderbaar nadat de gebruiker is ingelogd als gebruik wordt gemaakt van de App_Data map?
Nee, daar zal je zelf iets voor moeten maken.

Roomba E5 te koop


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 17:36

Haan

dotnetter

sig69 schreef op donderdag 12 januari 2023 @ 10:58:
[...]

Nee, daar zal je zelf iets voor moeten maken.
Gewoon wat @Zenomyscus beschrijft, dat is de meest gebruikelijke manier. Voordeel is dat je dan ook makkelijk kunt overschakelen naar bijvoorbeeld een database of ander soort van storage.

Kater? Eerst water, de rest komt later

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee