webForumDet fria alternativet

Hur kan man förhindra att zip-filer blir nerladdade?

ASP

25 svar · 673 visningar · startad av jimpa · sida 2 av 2

Frågan, av jimpa

Hej, Tänkte höra om man på ett bra och säkert sätt att förhindra att zip-filer blir nerladdade på från en mapp på servern utan ett visst tillstånd? Alltså kan man med ASP få en mapp/zip-fil på servern att bli oåtkommlig på ett eller annat sätt om inte ett visst värde är uppfyllt? Om inte med ASP finns det några andra möjligheter? typ: \<% If request.QueryString("userVerified") = true Then ' Giv

Läs frågan i sin helhet →
Medlem sedan juni 200032 967 inlägg
#21

Ja, det skulle man kunna tänka sig.

Medlem sedan maj 200010 687 inlägg
#22

Kom på en sak. Om du inte har någonstans att lägga filer utanför web-roten, var ska du då lägga databasen?

För jag antar att du använder Access eller något liknande.

Medlem sedan jan. 2001361 inlägg
#23

Jag sparar mina databaser i en mapp nånstans på servern, sen skappar min host dsn-kopplingar till resp. databas.
Hur som helst så vill jag inte begränsa/anpassa mig till ett visst webhotell, utan vill att det ska funka oavsätt vilket hotell man har.

Medlem sedan jan. 2001361 inlägg
#24

Hej,
Jag har ett uploadscript som jag tror PatrikB skrev för ganska länge sen. Hur som helst så funkar det bra när jag ska spara filer i en mapp på servern, men när jag ska spara filen i en databasen vill det sig inte..
Så här ser koden ut när jag ska spara i db.

BuildUploadRequest RequestBin

	IF UploadRequest.Item("file").Item("FileName") <> "" then
		contentType = UploadRequest.Item("file").Item("ContentType")
		filepathname = UploadRequest.Item("file").Item("FileName")
		filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
		fvalue = UploadRequest.Item("file").Item("Value")

ConnectString = "dsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open ConnectString

	strSql = "INSERT INTO TestFiles (fType, fName, fData) values ('"
	strSql = StrSql & contentType & "', '"
	strSql = StrSql & filename & "', '"
	strSql = StrSql & fvalue & "')"
	Response.write strSql
	Conn.Execute (StrSql)

Så här ser det ut när skriver ut sql-strängen med response.write

INSERT INTO TestFiles (fType, fName, fData) values ('image/gif', 'button_add.gif', '????????????????????????????????????????????????????????????????????ÿ

Så här lyder felmeddelandet:
ADODB.Connection.1 error '80004005'

SQLState: 37000
Native Error Code: -3100
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''????????????????????????????????????????????????????????????????????ÿ'.

Fältet i db. där den binära datan ska sparas är av typen ActiveX-Objekt

Vad gör jag för fel?

Mvh Jimpa

Medlem sedan jan. 2001361 inlägg
#25

Ingen som vet?

Medlem sedan maj 2001431 inlägg
#26

Jodå, felet är att du försöker hantera binär data som en teckensträng. Det går inte. Du måste dels läsa in filen binärt och sedan använda ett annat objekt för att skicka in datan i databasen. Enklast är ADODB.Stream alt. kan du använda ADODB.Recordset.

Jag har dock ingen exempel på denna dator så jag kan inte hjälpa dig mer. Men det finna kanske exempel i forumet eller testa att Googla :)

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)