<% If Request.QueryString("sida") = "" Then %>Oj, nu blev det något fel. Meddela gärna webmastern om detta (<a href="mailto:erik@juhlin.nu">erik@juhlin.nu</a> ).<% Else %><%
Path = Server.MapPath(Request.QueryString("sida") & ".inc")
Set FilSys = Server.CreateObject("Scripting.FileSystemObject")
If Request.QueryString("sida") <> "" and FilSys.fileExists(Path) Then
Set Read = FilSys.OpenTextFile(Path)
Do While Not read.AtEndOfStream
Response.Write read.ReadLine
Loop
Set Read = nothing
Else
%>Oj, nu blev det något fel. Meddela gärna webmastern om detta (<a href="mailto:erik@juhlin.nu">erik@juhlin.nu</a> ).<%
End If
Set FilSys = nothing
%><% End If %>
Men problemet är att all kod från filen man inkluderar hamnar på en rad. Hur skriver man för att undvika det? Och kan det uppstå några andra problem med den här koden?
Har skrivit så här nu. Kan förresten säga att spango skrivit grunden, sen har jag modifierat (läs massakrerat) den.
<%
kategori = Request.QueryString("kategori") & "/"
If Request.QueryString("kategori") = "" Then
kategori = ""
End If
sida = Request.QueryString("sida")
If Request.QueryString("sida") = "" Then
sida = "default"
End If
Path = Server.MapPath(kategori & sida & ".inc")
Set FilSys = Server.CreateObject("Scripting.FileSystemObject")
If sida <> "" and FilSys.fileExists(Path) Then
Set Read = FilSys.OpenTextFile(Path)
Do While Not read.AtEndOfStream
Response.Write read.ReadLine & vbcrlf
Loop
Set Read = nothing
Else
%>Oj, nu blev det något fel. Meddela gärna webmastern om detta (<a href="mailto:erik@juhlin.nu">erik@juhlin.nu</a> ).<%
End If
Set FilSys = nothing
%>
Kan inte du förklara för mig hur detta kan fungera? Om filen ligger i mappen www och kategori är "asp-kod" och sida är "index" så borde en response.write på din Path bli:
Men håll med mig då!!! Här står jag ensam på barikaden och kämpar och säger att Path = Server.MapPath(kategori & sida & ".inc") är en ren jävla omöjlighet och ingen reagerar!?!
Hela forumet är ju fullt av massa server.mappath kod som inte borde fungera och ingen säger nåt!! Ingen säger att jag har rätt, ingen säger att jag har fel. Klart man blir misstänksam...
Jag menar, hur stor risk på en skala är det att hela forumet har fel och jag har rätt?! Den kan ju inte vara direkt överhängande...
Dessutom är det visst relevat till tråden.
OK, jag går med på att om kategori = "\asp-kod" och sida = "\index" då kan Path = Server.MapPath(kategori & sida & ".inc") fungera men ingen normal snubbe hackar sån kåd...
OK, jag läser dåligt... men om man kan göra en sak på två sätt så tycker jag nog att han som skrev den kåden valde det sämre... men det hör kanske inte hit.
Men å andra sidan, det måste väl endå vara backslash!? & "\"
c:\wwwroot\kunder\www\asp-kod/index.inc
---
Jag går med på att jag läser dåligt (man ser bara det man vill se...) men era förslag uppmanar till sunkiga lösningar och det är över lag rätt tragiskt...