webForumDet fria alternativet

Behörighet - nedladdning dokument

.NETur .NET

10 svar · 512 visningar · startad av b3rra

Medlem sedan juli 2004103 inlägg
Frågan#1

Hej,

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?

/ B3rra

Medlem sedan juli 200012 980 inlägg
#2

Nej inte vad jag förstår. Du måste då skapa inloggning.
Och gissa länken kanske inte är så svårt när allt indexeras eller googglas.

Medlem sedan jan. 20012 204 inlägg
#3

Byt namn på filen till något man inte "kan" gissa till.

Medlem sedan feb. 2005280 inlägg
#4

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 ;)

Medlem sedan juli 2004103 inlägg
#5

Googlas, usch...

Namnen är idagsläget ganska svårknäckta.
Det krävs inloggning för att kunna komma åt själva adressen med mappstruktur och så vidare.

Men hur gör man för att säkerställa att de inte går att öppna av vem som helst?

Låt säga att någon som har lösenord skickar länken till en kompis?
Eller att den så småningom indexeras av google?

/ b3rra

Medlem sedan juni 20014 421 inlägg
#6

Vore det isf inte smartare att ha en rättighets-koll på sidan filedelivery och endast leverera filen om man har rättighet att se den?

Medlem sedan juli 2004103 inlägg
#7

Enklaste lösningen?

Jepp,

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?

Tack Freguz

/ b3rra

Medlem sedan juli 2004103 inlägg
#8

Hur då colione?

Medlem sedan aug. 20003 575 inlägg
#9

Bygg en egen HTTPHandler där du kollar session innan du låter användaren få ladda ner din fil.

Medlem sedan maj 20012 812 inlägg
#10

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.

- M

Medlem sedan aug. 20003 575 inlägg
#11

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
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)