Jag funderar lite över hur man kan hindra att ett dokument (word) sprids.
Idagsläget krävs det för att mna loggar in på min sida för att i nästa skede gå in i dokumentarkivet och klicka på länken.
Det är ju högst osannolikt att någon skulle kunna gissa sig till länken.
Men om vi leker med tanken, finns det något enkelt sätt att hindar någon från att ladda ner en fil om de vet den exakta länken?
skulle tippa att ett snabbhack/fulhack skulle kunna vara att länka till en viss sida istället och göra autentiseringen där, typ filedelivery.aspx?fileId=234232. Och sedan redirectas usern till den verkliga filen och får tanka ner den. Men då tänker ni "ja men då visar man en fysisk länk till filen som kan ges till andra!". Exakt, precis, helt rätt, men när systemet levererat filen (här får man ha nån timer som hajar när filen är nerladdad) så döper man om den fysiskt med nåt random värde och sparar det nya filnamnet i en db :) I db får man alltå ha en kopplingstabell med filnamn och dessa slumpgenererade fysiska filnamn.
En bättre lösning vore väl att spara den som en blob i db, då är det ju inga problem alls ;)
Tack för lite konkreta lösningar, idagsläget rör det sig om dokument på ca 500 MB, vet inte hur mycket en databas klarar av att bloba men det blir ett dyrare webbhotell för lösningen.
Att köra med en sida som redirectar är inte fel då löser man inloggningsproblemet, sedan kan man bya namn med en random, låter bra.
Jag sökte egentligen efter en enklare lösning men detta är kanske den rätta lösningen?
Det finns en lösning som är rätt häftig men inte så enkel. Det är att du använder dig av en vanlig aspx sida, och i denna sida så kollar du om personen har rättigheter att ladda ner filen, om man har det så skapar du en ny tråd och sätter andra NT-rättigheter på denna tråd, du loggar alltså in på tråden som en annan NT-användare, och så sätter du rättigheter på filen att bara denna NT-användare skall få läsa filen, och så redirectar du användare i din nya tråd till filen.
Det kräver ju att man har rätt att mecka på servern, men det borde fungera och man kan inte bara ladda ner filen om man inte går via din aspx-sida.
Jag röstar fortfarande för en HTTPHandler som kontrollerar om kliententen har den session som en inloggad skall ha för att sedan ladda ner filen. Säg till exempel att filen ligger i en databas eller utanför wwwrooten. Då kan du öppna filströmmen och skicka till användaren.
t.ex. DownloadFile.axd?filename=blablabla/bla/bla
osv.
132 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17