webForumDet fria alternativet

Filarkiv med lösenord på filer

ASP

23 svar · 1 146 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Jag har funderat kring en funktion ett tag nu så jag tänkte fråga er på webforum om ni har något tips.

Jag skulle vilja kunna lösenordsskydda filer som ligger på en webbserver men jag vill inte använda mig av nt-login.

Kan man använda en accessdatabas som lagrar filer i?

Några tips?

Medlem sedan juli 200319 inlägg
#2

Du kan ju skapa in inloggning med Session till exempel. När du väl loggat in så kommer du till en sida som kanske innehåller koden:

<%
If Session("user") = "" Then
Response.Redirect "www.uber.se"
End If
%>

Sen får du väl länka in dina filer hit eller länka till någon mapp som ligger öppen - vilket inte är att rekommendera. Skaffa ftp istället.

Medlem sedan jan. 20013 406 inlägg
#3

Jag har ftp men det är det som jag vill komma ifrån eftersom där måste jag ha användarkonton för alla olika som ska ladda ner filer.

Filarkivet ska användas till att leverera med åt olika kunder. 1 kund ska inte kunna ladda ner andra kunders filer.

Medlem sedan nov. 20014 054 inlägg
#4

Synd att det inte var en Apache Server Linux/Unix så att du kunde ha använt dig av htaccess. Men jag har för mig att Windows skall nu med ASP.NET ha något liknande system, tror jag!

Medlem sedan nov. 20014 054 inlägg
#5

Addeladde skrev:

Jag har ftp men det är det som jag vill komma ifrån eftersom där måste jag ha användarkonton för alla olika som ska ladda ner filer.

Filarkivet ska användas till att leverera med åt olika kunder. 1 kund ska inte kunna ladda ner andra kunders filer.

Då skulle du kunna använda dig av getfolder och så att när kunden loggar in och går till denna så att säga kundsida så öppnar den en mapp som har kundens idnummer eller kundnummer.

Typ:

...
Set ObjFso = Server.CreateObject("Scripting.FileSystemObject")

MyFolder = ObjFso.GetFolder("/kunder/"" & Session("kundnummer") & "")
...

Kanske? :q

Medlem sedan jan. 20013 406 inlägg
#6

Men det löser inte problemet med att kunden kan skriva in adressen till andra filer själv

Medlem sedan nov. 20014 054 inlägg
#7

Nee det förstås, då är det nog inte så många alternativ kvar:

1. Använd dig av FTPn, skapa ett konto för varje aktuell kund.
2. Byt serveroperativsystem.
3. Testa med att installera .NET Framework från Microsoft och
kör ASP.NET

Medlem sedan jan. 20013 406 inlägg
#8

Kunden som jag tänkte bygga dett åt kör idag med ftp://konton för varje person men det är för krånligt för dem att lägga upp nya konton hela tiden samt skicka ut ftp uppgifter till de som de levererar till. Speciellt när de har olika webbläsare mac pc olika ftp program. Hela tiden strul.

ASP.NET finns installerat på servern så det är inga problem.

Medlem sedan maj 20031 472 inlägg
#9

Fredde Mannen skrev:

Då skulle du kunna använda dig av getfolder och så att när kunden loggar in och går till denna så att säga kundsida så öppnar den en mapp som har kundens idnummer eller kundnummer.

Typ:

...
Set ObjFso = Server.CreateObject("Scripting.FileSystemObject")

MyFolder = ObjFso.GetFolder("/kunder/"" & Session("kundnummer") & "")
...

Kanske? :q

Så har jag nästan, jag har ett perlscript som allt hämtas igenom, den listar kataloger och låter folk ladda ner filer men bara dom som kunden har rätt till.

Jag har min funktion till samma sak som du behöver men dock med Apache.

Medlem sedan nov. 20014 054 inlägg
#10

Addeladde skrev:

Kunden som jag tänkte bygga dett åt kör idag med ftp://konton för varje person men det är för krånligt för dem att lägga upp nya konton hela tiden samt skicka ut ftp uppgifter till de som de levererar till. Speciellt när de har olika webbläsare mac pc olika ftp program. Hela tiden strul.

ASP.NET finns installerat på servern så det är inga problem.

Använd dig då av detta i web.config, ex:

<configuration> 
  <system.web>
    <authentication mode="Forms">
      <forms name="TestAuthCookie" loginUrl="login.aspx" timeout="30">
        <credentials passwordFormat="Clear">
          <user name="user1" password="pass1"/>
          <user name="user2" password="pass2"/>
        </credentials>
      </forms>
    </authentication>
  </system.web>
  <location path="admin">
    <system.web>
      <authorization>
         <deny users="?" /> 
      </authorization>
    </system.web>
  </location>
</configuration>

Här har du det mer beskrivande; http://www.orcsweb.com/articles/security1.aspx

Medlem sedan jan. 20013 406 inlägg
#11

Tack jag ska titta på det.

Medlem sedan juni 20015 009 inlägg
#12

Addeladde skrev:

Men det löser inte problemet med att kunden kan skriva in adressen till andra filer själv

soo? Lägg en sessionkoll på de sidorna som kollar så att querystringen är lika med en session, om inte lika så skicka en till den som man hör hemma hoss. :)

Medlem sedan jan. 20013 406 inlägg
#13

Qimen skrev:

Addeladde skrev:

Men det löser inte problemet med att kunden kan skriva in adressen till andra filer själv

soo? Lägg en sessionkoll på de sidorna som kollar så att querystringen är lika med en session, om inte lika så skicka en till den som man hör hemma hoss. :)

Men om man skriver in sökvägen till en fil som inte är ett asp dokument så kommer man åt den filen ändå.

Medlem sedan nov. 20014 054 inlägg
#14

Addeladde skrev:

Qimen skrev:

Addeladde skrev:

Men det löser inte problemet med att kunden kan skriva in adressen till andra filer själv

soo? Lägg en sessionkoll på de sidorna som kollar så att querystringen är lika med en session, om inte lika så skicka en till den som man hör hemma hoss. :)

Men om man skriver in sökvägen till en fil som inte är ett asp dokument så kommer man åt den filen ändå.

Precis! Kolla på detta med ASP.NET grejjen., det löser nog det hela!

Medlem sedan mars 20025 907 inlägg
#15

Addeladde skrev:

Qimen skrev:

Addeladde skrev:

Men det löser inte problemet med att kunden kan skriva in adressen till andra filer själv

soo? Lägg en sessionkoll på de sidorna som kollar så att querystringen är lika med en session, om inte lika så skicka en till den som man hör hemma hoss. :)

Men om man skriver in sökvägen till en fil som inte är ett asp dokument så kommer man åt den filen ändå.

Naturligtvis lägger du de skyddade filerna utanför wwwrooten och streamar fram dem med ett script!

Medlem sedan nov. 20014 054 inlägg
#16

Peeer skrev:

Addeladde skrev:

Qimen skrev:

Addeladde skrev:

Men det löser inte problemet med att kunden kan skriva in adressen till andra filer själv

soo? Lägg en sessionkoll på de sidorna som kollar så att querystringen är lika med en session, om inte lika så skicka en till den som man hör hemma hoss. :)

Men om man skriver in sökvägen till en fil som inte är ett asp dokument så kommer man åt den filen ändå.

Naturligtvis lägger du de skyddade filerna utanför wwwrooten och streamar fram dem med ett script!

Det alternativet finns ju också!

Medlem sedan mars 20015 287 inlägg
#17

Streama fram dom är smart, en annan långsökt lösning är att låta ett script koppiera över de filer som kunden efterfråga till en tempmapp o sen radera dom när kunden loggar ut...
Väldigt långsökt dock...

Medlem sedan jan. 20013 406 inlägg
#18

Många bra förslag som jag inte tänkt på

Medlem sedan juni 20008 205 inlägg
#19

Att streama filerna kan jag med all säkerhet garantera är sämre än att använda web.config-tricket. I/O:n lär bli betydligt segare, framför allt, plus att du skriver en massa kod du inte behöver skriva.

Medlem sedan feb. 200112 078 inlägg
#20

En praktisk fråga; hur skall den användare som vill ha filer från en annan användares "konto" kunna veta vad dennes filer heter? Du tillåter väl inte Katalogbläddring i dessa mappar, hum?

Såvida de inte vet det exakta filnamnet kommer någon annan aldrig åt dem.

Jag ser inga problem i att bygga detta i ASP.

282 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
147 ms — ändringar (db)