25. juni 2002 - 11:23Der er
16 kommentarer og 2 løsninger
Stien til det lokale C-drev ? - 100 point for hurtig svar !
Hej Jeg vil gerne chekke eksistensen af en bestemt fil på det lokale C-drev - der hvor windows ligger.
Inden jeg oploadede mit asp dokumentet til nettet virkede følgende: ------------------------------------------------------- 'chekker eksistensen af en bestemt file på Windows C-Drev Function CheckFileExists(sFileName) Dim FileSystemObject Set FileSystemObject = Server.CreateObject("Scripting.FileSystemObject") If (FileSystemObject.FileExists(sFileName)) Then CheckFileExists = True Else CheckFileExists = False End If Set FileSystemObject = Nothing End Function 'Check If CheckFileExists("c:\windows\FilNavn.log") Then Else response.redirect "Fejl.asp" End If ________________________________________________________
Den virker ikke ude på nettet fordi stien til det lokale c-drev er forkert.
Kender du den korrekte sti og svarer hurtigt er de 100 point dine.
Jeg er ikke 100% sikker, men jeg mener at microsoft for noget tid siden lukkede et sikkerhedshul, der gjorde at man via javascript kunne finde ud af om en fil eksisterede på brugerens computer - så jeg vil umiddelbart sige at det ikke kan lade sig gøre. Men lad os nu høre, hvad de har at sige over i javascript-gruppen - det er der, du skal have flyttet dit spørgsmål over.
I Jmail kan man fx browse sit lokale drev hvis man skal vedhæfte en fil - så det må jo kunne lade sig gøre at se ned på det lokale drev på en eller anden måde.
Synes godt om
Slettet bruger
25. juni 2002 - 11:44#8
kimiwan: Korrekt, der er et hul i Office 2000/XP, der gør at man via IE kan læse en lokal fil. Hullet er endnu ikke blevet lukket.
Man kan lave det med ActiveX scripting og alle sikkerhedshuller er ikke lukket, for Microsoft har modsat eks. JAVA ikke implementeret en Sandbox filosofi. Men jeg vil af princip ikke hjælpe med den slags, da det også kan blive (og bliver) misbrugt.
Og når/hvis du finder en løsning på det store net, skal du være opmærksom på, at det kan slåes fra i browseren, så det bliver aldrig en 100% løsning.
Nej, det skal ikke være javascript fordi så kan klienten jo se koden. Der er tale om et ekstra sikkerheds check, hvor man ikke kan komme ind på hjemmesiden med mindre man har en bestemt fil på sit c-drev ala den nogle bankerne foretager inden man kommer ind på deres hjemmeside.
ok, men selvom hullet ikke er blevet lukket endnu, ville jeg ikke anbefale nogen at udnytte det. For det første vil en firewall evt. opfange det og alerte brugeren om at hjemmesiden, de besøger, forsøger at gøre noget ondt ved dem, for det andet vil det kun fungere på helt specifikke brugersystemer (hvor denne bug forefindes), og for det tredje vil den (måske?) blive rettet, og så vil din kode ikke være meget værd længere for disse brugere heller.
Fin sammenligning med bankerne, men du har misset en væsentlig ting: Man skal installere enten en pluginn, trusted JAVA applet el.lign. før det virker. Dvs. at brugeren har eksplict accepteret at installere en komponent på sin klient, der giver adgang til den funktionalitet.
Men er din løsning virkelig så super hemlig, at den er al det besvær værd ?
Det bankerne bruger er et ActiveX komponent der tjekker om filerne eksisterer. Dette kan sagtens lade sig gøre at få til at tjekke ned imod brugerens filsystem. Du skal dog være opmærksom på at igen brugeren kan slå det fra og skal første gang selv godkende at de vil installere det lille program. Derfor er det ikke brugbart, med mindre det er en lille begrænset selv tilmeldte brugere.
Hvis det er et intranet, vil jeg i stedet anbefale at anvende Windows authentication, evt. udvidet med NT gruppe sikkerhed og ADSI, så har du 100% styr på brugerne og deres rettigheder. Meget bedre end du vil have med nogen som helst komponent.
I den simple form, kan du bruge Request.ServerVariables("LOGON_USER") til at se den bruger der er logget ind og kontrollere disse op mod en tabel med brugere.
Da ovenstående ser ud til at være umulig har jeg fundet en helt anden løsning. Jeg har derfor fordelt poientene ligeligt mellem dem der har deltaget!
Synes godt om
Ny brugerNybegynder
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.