Ik het een download script geschreven die eerst een formulier laat invullen en daarna een bestand streamt van de webserver. De bestanden staan niet in een map die direct van internet te benaderen is vandaar zo'n script.
Het bestand wordt opgezocht door de regels:
Dim pad As String = "c:\inetpub\downloads\" & strRequest
Dim file As System.IO.FileInfo = New System.IO.FileInfo(pad)
En later verstuurd door:
Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(file.FullName)
Werkt perfect, alleen ik bedacht me dat je nu ook /bestand.aspx?bestand=../../autoexec.bat kunt doen en vervolgens de autoexec.bat van de webserver kunt downloaden. Is natuurlijk wel helemaal in de Microsoft gedachte
maar het ik kan het niet op m'n geweten hebben om zoiets aan een klant te geven.
Nu zat ik te denken of het niet mogelijk was om het path uit te lezen van file. Dus als iemand het script aanroept met ../../autoexec.bat dat ik zie dat het path C:\ is. Zodat ik een vergelijking kan maken zoals:
if "c:\inetpub\downloads\" <> filePath then niks doen
Ik hoop dat iemand me kan helpen, alvast bedankt
Het bestand wordt opgezocht door de regels:
Dim pad As String = "c:\inetpub\downloads\" & strRequest
Dim file As System.IO.FileInfo = New System.IO.FileInfo(pad)
En later verstuurd door:
Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(file.FullName)
Werkt perfect, alleen ik bedacht me dat je nu ook /bestand.aspx?bestand=../../autoexec.bat kunt doen en vervolgens de autoexec.bat van de webserver kunt downloaden. Is natuurlijk wel helemaal in de Microsoft gedachte
Nu zat ik te denken of het niet mogelijk was om het path uit te lezen van file. Dus als iemand het script aanroept met ../../autoexec.bat dat ik zie dat het path C:\ is. Zodat ik een vergelijking kan maken zoals:
if "c:\inetpub\downloads\" <> filePath then niks doen
Ik hoop dat iemand me kan helpen, alvast bedankt