Just nu i M3-nätverket
Gå till innehåll

Skydda wordfiler på web med ASP


PJ Sandblom

Rekommendera Poster

PJ Sandblom

Hallå!

 

Jag jobbar en del med en föreningssida där medlemmarna registrerar sig och kan göra en del grejjer...

 

Nu funderar jag på om jag ska göra nån sorts funktion för att presentera styrelseprotokoll, minnesanteckningar och liknanade på hemsidan.

Dessa vill jag kunna skydda så att bara inloggade kan ladda hem/läsa dem.

 

Eftersom man ofta skriver såna dokument i Word så tänkte jag att man kanske helt enkelt ska låta användarna ladda upp filen på servern så den som ska publicera ett dokument slipper klippa och klista in det i ett formulärsfält och sen spara in det i en databas.

 

Går det på nåt vis att innan man visar ett dokument kolla om användaren är ordentligt inloggad? Att man verkligen INTE kan nå dokumenten även om man kan dess riktiga URL?

 

Tacksam för svar.

Länk till kommentar
Dela på andra webbplatser

Hej!

 

Om du använder NTFS filsäkerhet på biblioteket med dokumenten, så visas dokumenten endast för dem som har rättighet till dem.

 

Mvh

 

Jimmy

 

 

 

 

 

[inlägget ändrat 2002-07-29 16:49:05 av dotgif]

Länk till kommentar
Dela på andra webbplatser

Daniel Wahlgren

Lagra själva word-dokumentet i databasen som en binär fil...

 

hur man gör beror på vilken databas du använder...

 

**********

Om spelvåld påverkar unga, hur skulle pakmangenerationen se ut idag?

 

Länk till kommentar
Dela på andra webbplatser

Du kan på inloggningssidan sätta en sessions variabel Till t.ex true om användaren loggat in med korrekt använarnamn/lösenord

 

lägg sedan en koll (if sats) först på varje sida som kräver inloggning om den variabeln är satt till true om inte,laddas inte sidan (förslagsvis får man bara en redirect tillbaks till index sidan

 

/Jonas

 

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Det är en sketen Access databas... Blir den inte ruskigt stor då? Eller blir det ungefär samma datastorlek i slutändan?

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Ja, sidan ligger på Ballou, och dom kör väl NTFS eller nåt sånt...?

 

Men jag vill juh att dokumenten ska kunna visas för en inloggad person, som är inloggad med en session i ASP...

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Har inte Ballou en kontroll panel där du själv kan skapa en skyddad katalog ( i.e sätta rättigheter ).

 

Eller ingår inte det i alla abbonemnag ?

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Öööhum...

Så grön är jag inte jonas ;)

 

Problemet är att jag behöver kolla när ett *.doc laddas i läsaren!

 

Det räcker inte med att först kolla om användaren är inloggad, och sen redirecta honom, eftersom om man kan URL till ett specifikt dokument så är det inte skyddat längre!

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Jo visst kan man väl skydda kataloger på det viset! Men om jag skulle göra det så kan juh ingen nå filerna förutom via FTP. Användarna surfar juh också till sidan...

 

Kan man inte köra en if-sats innan dokumentet laddas?

 

Går det att koppla mot ett worddokument och presentera det helt och hållet via ASP? Jag har läst om att man kan skapa dokument iaf...

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Daniel Wahlgren

problemet med det är att om inte själva filen är skyddad så kan man i alla fall nå den med direktlänk... vilket han ju inte ville... alternativen är NTFS rättigheter, och då måste de logga in på det sättet, och då används inte asp för inlogg (Eller jag kan det inte i alla fall) eller så lägger han den i Access... vilket jag inte rekomenderar... men å andra sidan skall man ju inte köra access över hvud taget eftersom den är instabil... Möjligtvis om man lägger filtabellen i en egen databasfil.

 

Problemet är att man måste skydda databasen också :) men finns det en gömd katalog (som inte är public) så är det ju inga problem... då kan man ju lägga databasen där, eller filen direkt och leverera den med asp från denna skyddade plats efter användarverifikation...

 

Har säkert glömt något, men någon upptäcker det nog :)

 

 

**********

Om spelvåld påverkar unga, hur skulle pakmangenerationen se ut idag?

 

Länk till kommentar
Dela på andra webbplatser

öhhhhhhh...

 

Glöm allt jag sa, har nog vaknat på totalt fel sida idag =)

tänkte inte på att det var en URL till ett specifikt dokument.

 

Det hjälper att läsa ordentligt innan man kastar ur sig något

 

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Okej. Databasen ligger juh utanför wwwroot så den är skyddad.

 

Jag förstår att man inte kan nå dokumenten om man skulle lägga även dom bakom wwwroot, finns det då inget vis att skriva en ASP-sida som först kollar så man är inloggad och sen läser och visar dokumentet? Tycker att (skit-)microsoft borde väl tänkt på detta...

 

Det andra förslaget, med att lagra dem i databas tycker jag låter skumt. Databasen måste juh bli stor som ett hus...? Nån som har erfarenhet av att lagra filer i access-db?

 

 

 

 

[inlägget ändrat 2002-07-29 17:12:03 av PJ Sandblom]

Länk till kommentar
Dela på andra webbplatser

Jo visst kan man väl skydda kataloger på det viset! Men om jag skulle göra det så kan juh ingen nå filerna förutom via FTP. Användarna surfar juh också till sidan...

 

Visst kan de det, behöver inte ske med FTP.

 

Om du har katalogen i wwwroot och tar bort IUSR rättigheterna och sedan lägger dit de rättigheter du vill ha så kan den användaren logga in med browsern.

 

 

Länk till kommentar
Dela på andra webbplatser

(skit-)microsoft borde väl tänkt på detta...

 

Hmmm, egentligen borde jag inte svara något mera eftersom du har den attityden men det går alldeles utmärkt att serva filer som du lägger utanför publika wwwroot.

 

Du använder ADODB.Stream objektet, du kan ladda ned ett exempel här:

http://www.lundin.info/files/jgetfile.zip

 

Inloggingen sköter du som sagts tidigare med en databas eller NT inloggning, kör du med NT inlogg så behövs ju inte filerna placeras utanför wwwroot.

 

[inlägget ändrat 2002-07-29 17:36:50 av Xyzz]

Länk till kommentar
Dela på andra webbplatser

Daniel Wahlgren

Lägga filer i databas är inga problem.

Och de tar inte upp större plats i en databas än vad de gör som vanlig fil. Fördelarna är många:

 

1. Endast en fil at göra backup på

2. De kan aldrig accessa filen med en URL utan att bli validerade.

3. Du behöver inte skapa NT-konton åt alla utan kan mycket väl använda ett användarregister i din databas.

etc.

 

Nackdelar finns ju förståss också.

 

1. Access-databaser är instabila när många kopplar sig samtidigt till den.

2. Tar lite mer prestada eftersom det handlar om en databaskoppling och inte en helt vanlig fil-leverans.

 

I ditt fall verkar nog Xyzzs förslag vettigast. Kollade på filen och det är inte särskilt svårt.

 

Och klanka inte på Microsoft... om du tycker de är skit så använd det inte.

 

**********

Om spelvåld påverkar unga, hur skulle pakmangenerationen se ut idag?

 

Länk till kommentar
Dela på andra webbplatser

En om inte lite omständlig variant är att på en sida som man bara når som inloggad finns en länk till ditt dokument, skapad av en databas eller textfil.

När användaren klickar på länken och laddar ner dokumentet byter du sedan namn, slumpartat på filen och skriver in det nya namnet i databasen/textfilen. (FSO)

På så sätt kan man inte "återanvända" länken till dokumentet.

Eventuellt kan du trigga namnbytet av dokumentet med någon form av tidintervall så att länken/namnet ligger kvar ett tag i alla fall.

 

 

------------------

*Skaffar poäng...*

 

 

 

[inlägget ändrat 2002-07-30 00:07:13 av solbulle]

Länk till kommentar
Dela på andra webbplatser

Magnus Gladh

mmm fungerar nog bra i ett en-användar system.

 

Vad händer om 2 personer frågar eftersamma dokument samtidigt. Innan person 1 har hunnit ladda ner dokumentet har person 2 ändrat namnet på filen... :)

 

Den enda lösningen är den som Xyzz har föreslagit.

 

- Magnus

-----------------------------------------------------

ju mer jag lär mig ju mer inser jag så lite jag kan

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Ursäkta attityden och tack så hemskt mycket för hjälpen. Poäng blir det förståss! = )

 

Länk till kommentar
Dela på andra webbplatser

PJ Sandblom

Har du provat det där scriptet?

 

Jag tog hem det och provkörde på ett Word-dokument, och den verkar läsa det och så, men den publicerar allt som text i webläsaren. Det blir också massor av skumma tecken och sånt... Hur ställer man in den på att öppna filen i word? Scriptet ska nog kunna känna av det själv, men det verkar inte fungera...

 

När man laddar hem exemplet så så följer det med en access fil som körs i exemplet. När man då kör scriptet så verkar den ladda filen, webläsaren är helt tom.

 

Jag provade nyss med en .jpg bild, och det gick bra!

 

 

 

 

[inlägget ändrat 2002-07-30 15:42:04 av PJ Sandblom]

Länk till kommentar
Dela på andra webbplatser

Faktum är att jag vet inte riktigt vad som var fel, det funkade perfekt på IIS5.1 (XP) men blev samma fenomen du beskrev på IIS5.0 (W2k).

 

Jag har gjort ett nytt exempel som är förenklat, denna verkar funka på båda, ladda ned igen.

 

[inlägget ändrat 2002-07-30 16:41:54 av Xyzz]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...