Avatar billede pouls Mester
17. juli 2004 - 11:35 Der er 11 kommentarer og
1 løsning

Login beskyttelse af pdf filer

Hej håber at der er en der kan hjælpe. Jeg har en hjemmeside med nogle asp filer som er beskyttet med et login som ser således ud.

<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("./db/Medlemmer.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT Medlemsnummer FROM Medlemmer"&_
            " WHERE (Fornavn = '" & strUID & "')"&_
            " AND (Adgangskode = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("Medlemsnummer")
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Den angivne kombination af fornavn og adgangskode findes ikke. Husk at adgangskoden er din fødselsdag Eks.31-12-66 husk bindestregerne mellem tallene. Kontakt evt. Nauticas web-ansvarlige kasserer@dyk-nautica.dk via mail "
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID" og brugeren bliver sendt videre
            Session("UserID") = intUID
            Response.Redirect("lokside.asp")
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If




Men jeg vil også gerne beskytte nogle af mine pdf filer er det mulig af lave en tilføjelse til denne login.asp så også nogle af mine pdf filer er beskyttet med et login.
Avatar billede fennec Nybegynder
19. juli 2004 - 10:34 #1
Det er muligt hvis du bruger et upload/download komponent.

Du skal så placere pdf filerne på serveren i en mappe, som ikke kan ses fra en browser. Ellers kan man jo skrive www.ditSite.dk/enPdfFil.pdf også få adgang. Men internet serveren (ISS, Apache) skal have adgang til mappen så downloadkomponenten kan se filerne.

Du skal så lave en downloadfil.asp, som kaldes med en parameter i url'en (downloadfil.asp?file=enPdfFil.pdf)

Heri kan du så smide alt det tjek du vil, og hvis det bliver opfyldt, bruges upload/downloadkomponenten til at hente filen. Med aspSmartUpload vil det se sådan ud:


<%
PassedTjek = false
'Lav alt muligt tjek og sæt PassedTjek=true hvis bestået.

if PassedTjek then
  Set MyUpload = Server.CreateObject("AspSmartUpLoad.SmartUpLoad")
  MyUpload.DownloadFile "c:\EnMappeSomKomponentenKanSe\"& request.querystring("file"), "application/x-zip-compressed", request.querystring("file")
end if
%>
Avatar billede pouls Mester
19. juli 2004 - 19:03 #2
Hej og tak for svaret.

Jeg er ikke særlig stærk i asp eller opbygning af hjemmesider, så jeg har brug for lidt uddybning.
Først den skjulte mappe hvor ligger jeg den, min hjemmeside ligger hos et webhotel .
Avatar billede fennec Nybegynder
20. juli 2004 - 08:36 #3
Så er det ikke sikkert du har en skjult mappe. Og det er ikke sikker der er installeret et upload/downloadkomponent men det kan du få at vide hos udbyderen. Hvis der er en skjult mappe hedder den højestsansynlig "DB". Det er her man kan lægge sin database, så andre ikke kan hente den, men man kan selvfølgelig også lægge andre filer deri.

Du skal altså først finde ud af, om der er et upload/download komponent installeret. Hvis der ikke er, kan du ikke gøre det sikkert. Dernæst skal du finde ud af om du har en skjult mappe.

Hvis du ikke har en mappe, kan vi stadig gøre det nogenlunde sikkert, men ikke mere sikkert end at man stadig kan skrive url'en til filen. Url'en vil dog ikke blive vist på noget tidspunkt, så man skal gætte sig til mappe og filnavnet.
Avatar billede pouls Mester
20. juli 2004 - 22:21 #4
Hej igen¨

Jeg har en mappe der heder db og der er også muligt at upload/download fra hjemmesiden. Men hvis jeg i dag skriver en sti www.mitwebsted/db/minfil.pdf er det muligt at se filen og stien til filen så hvad er det skjult i den mappe.
Avatar billede fennec Nybegynder
25. juli 2004 - 21:16 #5
Intet..... Det er ikke en skjult mappe.
Hvilket komponent er der installeret???

ps. undskyld det sene svar men jeg er på ferie i øjeblikket, så der kan godt gå langtid imellem mine svar :o)
Avatar billede pouls Mester
25. juli 2004 - 22:03 #6
Jeg ved ikke hvilket komponent er der installeret men det er muligt at download zip filer fra sider og skrive i gestebogen hvis der har noget med det at gøre.
Avatar billede fennec Nybegynder
30. juli 2004 - 17:49 #7
At du kan downloade zip filer har desvære intet med et upload/download komponent at gøre.

Hvilken udbyder bruger du, og evt. hvilken løsning har du hos dem (mini, maxi eller hvad de nu kalder dem). Så kan jeg måske finde ud af, om du har adgang til et upload/download komponent.
Avatar billede pouls Mester
30. juli 2004 - 23:09 #8
mim hjemmeside ligger hos  Azero.dk  Ironsite Exec
Avatar billede fennec Nybegynder
04. august 2004 - 11:50 #9
Jeg har haft kontakt til Azero.dk, men har i første omgang ikke fået et svar, der kunne bruges, da de troede det var asp filer der skulle beskyttes. Så jeg prøver lige igen :o)

De sagde dog at DB mappen er en skjult mappe, og derfor burde du ikke kunne komme ind i den med www.mitwebsted/db/minfil.pdf

Jeg fik heller ikke svar på om der var et komponent eller ej.
Avatar billede fennec Nybegynder
04. august 2004 - 12:58 #10
Har nu fået svar. Der er ikke et komponent. Der var et par link i den ene mail jeg fik fra Azero. Du får lige begge mail's her så du også kan se hvad de skriver.

1. mail
*********************
Du kan ligge filerne i db mappen, der kan de ikke hentes fra hjemmesiden
af. Ellers er den eneste mulighed at bruge .htaccess hvis du ligger på
en Unix server eller eventuelt et script i ASP til at beskytte filerne
med.

Med hensyn til .htaccess beskyttelse se her:
http://azero.dk/support/unix/password/

Med hensyn til beskyttelse med et ASP script se her:
http://azero.dk/support/programmering/asp/komponenter/asplogin/

Håber du kunne bruge denne information til noget? Ellers er du
velkommen til at kontakte os igen.

Med venlig hilsen

Claus Bagge
Support

2. mail
*********************

Hej igen,

Vi har ikke et sådan komponent
Med venlig hilsen

Claus Bagge
Support
*********************

Mærkeligt nok, kan man gå ind på http://azero.dk/support/programmering/asp/komponenter/aspupload/ og læse om aspupload, som åbentbart er installeret på serveren, men det kan selvfølgelig være til an anden type konto...

Hvis det komponent virker for dig, kan jeg sikkert lave en kode til dig. Der er dog stadig et problem med at DB mappen ikke er skjult (som den burde være)
Avatar billede pouls Mester
04. august 2004 - 21:44 #11
Mange tak for svaret. Som jeg ser det er jeg allerede beskyttet af det login jeg har når det er *.asp filer og hvis mine *.pdf filer ligger i db biblioteket og kun linkes til fra en beskyttet asp fil skulle det virke men hvis db biblioteket ikke er beskyttet hjælper det ikke meget.

Jeg kan ikke se hvordan jeg skal tildele dig dine poing
Avatar billede fennec Nybegynder
09. august 2004 - 17:33 #12
Du skal nok have taget kontakt til Azero, og gøre dem opmærksom på at db mappen ikke er skjult. De kan jo have lavet en fejl, da de satte serveren op.

Jeg kan se du har givet mig point. Så jeg går ud fra at du fandt ud af hvordan man gør....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester