🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: dk.edb.internet.webdesign.serverside.asp
4 messages
4 total messages Started by Mads Brinch Tue, 31 May 2011 07:14
Fejler database
#487
Author: Mads Brinch
Date: Tue, 31 May 2011 07:14
60 lines
2413 bytes
Hej jeg har et lille problem med at jeg skal have hentet noget
data ud fra en database og den melder tilbage med fejlen 

Microsoft VBScript compilation error '800a03fd'

Expected 'Case'

/site/lbwiki/lbwikis.asp, line 80

Select * From lbtblwik

Min kode for at hente dataene ser s�dan her ud 



<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../admin/db/db.mdb")
Conn.Open DSN

Select * From lbtblwik
Order by H1
Set rs = Conn.Execute(strSQL)

Do
   ' H1
   strH1 = rs("H1")

   ' lav et link til lbwikis.asp 
   strLink = "<a href='../site/lbwiki/lbwikis.asp?id=" & rs("Id")
& "&pla=" & rs("H1") & "'>" & strH1 & "</a>"

   ' Liste med links
   Response.Write "<li>" & strLink & "</li>"

   rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Den skulle gerne kunne s�tte menupunkterne op for tabellen H1 s�
den linker til siden med det der st�r i infotabellen i databasen.

ved ikke lige hvor det g�r galt, og h�ber det giver mening hvad
problemet er. 

p� forh�nd tak

Mvh Mads

-- 
Vil du l�re at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
 - P�dagogiske tutorials p� dansk
 - Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
Re: Fejler database
#488
Author: Mads Brinch
Date: Tue, 31 May 2011 08:52
74 lines
3068 bytes
hej fandt fejlen der skulle st� 

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/admin/db/db.mdb")
Conn.Open DSN

strSQL = "Select * From lbtblwik Order by H1" 
Set rs = Conn.Execute(strSQL) 
 
Do 
    ' H1 
    strH1 = rs("H1") 
  
    ' lav et link til lbwikis.asp  
    strLink = "<a href='../site/lbwiki/lbwikis.asp?id=" & rs("Id") 
 & "&pla=" & rs("H1") & "'>" & strH1 & "</a>" 
  
    ' Liste med links 
    Response.Write "<li>" & strLink & "</li>" 
  
    rs.MoveNext 
 Loop While Not rs.EOF 
  
 Conn.Close 
 Set Conn = Nothing 
 %> 


men der kommer et nyt problem frem p� den nye side som siger 


Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters.
Expected 1. 


den virker p� en anden side men ikke denne her og koden ser ens ud
for dem begge s� hvorfor kommer fejlen s�?
selve koden ser s�dan her ud, ved ikke om der lige er andre
muligheder for at poste det frem, men den kommer med ovenst�ende
fejl.

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/admin/db/db.mdb")
Conn.Open DSN

' Hent fra databasen afh�ngig af v�rdien id fra URL
strSQL = "Select * From lbwiki2 Where H1 = " &
Request.Querystring("pla")
Set rs = Conn.Execute(strSQL)%>    	

<p>
<%=rs("Iwik")%>
</p>

<%Conn.Close
Set Conn = Nothing
%>

mvh Mads

-- 
Vil du l�re at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
 - P�dagogiske tutorials p� dansk
 - Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
Re: Fejler database
#489
Author: Leif Neland
Date: Tue, 31 May 2011 23:09
19 lines
1585 bytes
Den 31-05-2011 10:52, Mads Brinch skrev:
>
> ' Hent fra databasen afh�ngig af v�rdien id fra URL
> strSQL = "Select * From lbwiki2 Where H1 = "&
> Request.Querystring("pla")

Den s�dvanlige fejl...

Hvad tror du der sker, hvis man kalder
"http://dit.dom/site/lbwiki/lbwikis.asp?pla=-1 UNION Select * from 
admin_users"

Parameterized queries er den s�dvanlige l�sning.


http://xkcd.com/327/

-- 
Bevar P2, luk P3, der er nok P3'er i forvejen.
Re: Fejler database
#490
Author: Rune Jensen
Date: Fri, 03 Jun 2011 11:10
41 lines
2685 bytes
On 1 Jun., 01:09, Leif Neland <l...@neland.dk> wrote:
> Den 31-05-2011 10:52, Mads Brinch skrev:
>
>
>
> > ' Hent fra databasen afhængig af værdien id fra URL
> > strSQL = "Select * From lbwiki2 Where H1 = "&
> > Request.Querystring("pla")
>
> Den sædvanlige fejl...
>
> Hvad tror du der sker, hvis man kalder
> "http://dit.dom/site/lbwiki/lbwikis.asp?pla=-1UNION Select * from
> admin_users"
>
> Parameterized queries er den sædvanlige løsning.
>
> http://xkcd.com/327/

Så vidt jeg kan se, så er Mads' kode sårbar overfor både SQL-injection
og XSS-attacks. Det er to af de suverænt mest brugte attacks-former.
F.eks.:
http://www.version2.dk/artikel/19325-sony-hacket-igen-n-million-passwords-er-stjaalet

SQL-injection kan undgås med parameterized queries, som Leif skriver.
XSS via brugerdefineret injected HTML kan undgås ved, at man encoder
allle data fra DBen, når det bruges direkte i HTMLen.

Man kan HTMLEncode i ASP, men kun 8859, ikke UTF-8- Så hvis du bruger
UTF-8, må du lave din egen function til det:

Function HTMLEnc ( StringIn)
   HTMLEnc = Replace( Replace( Replace( Replace( StringIn, "<",
"&lt;"), ">", "&gt;"), "&", "&amp;"), chr( 34), "&quot;")
End Function


MVH
Rune Jensen
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads