min kod observera detta: du ska använda Vad du är snäll och lämnar dun kod öppen för SQL-inject attacker. ;) Andreas - du kunde ju informerat han vad det är och hur han undviker det... Information finns på internet, detta ämne har tagits upp i artiklar och andra inlägg. Ett svar i en tråd är inte lika utömmande som artikeln om det. Är det SQL-injection de använder när de kapar hotmailkonton ??Lyckas ej lagra info i databas
<code>
<% If Request.Querystring("lang") = "sv" Then
Stad = Session("Stad")
Namn = Session("Namn")
Epost = Session("Epost")
Telefon = Session("Telefon")
Kategori = Session("Kategori")
Annonsera_Som = Session("Annonsera_Som")
Hemligt = Session("Telefon_Hemligt")
Typ_Av_Annons = Request.form("radiobutton")
Rubrik = Request.form("rubrik")
Annonstext = Request.form("annonstext")
Pris = Request.form("pris")
Bild = Request.form("bild")
Lank = Request.form("lank")
Lanknamn = Request.form("lanknamn")
Losenord = Request.form("losenord")
Tid = Now
Datum = Date
' ################### BILAR ######################
If Request.Form("kategori") = "Bilar" Then
Arsmodell = Request.form("arsmodell")
Miltal = Request.form("miltal")
Bransle = Request.form("bransle")
Vaxellada = Request.form("vaxellada")
Connect.Execute("Insert Into annons(stad,namn,epost,telefon,kategori,annonsera_som,telefon_hemligt,typ_av_annons,rubrik,arsmodell,miltal,bransle,vaxelada,annonstext,pris,bild,lank,lanknamn,losenord,tid,datum) Values('" & Stad & "','" & Namn & "','" & Epost & "','" & Telefon & "','" & Kategori & "','" & Annonsera_Som & "','" & Hemligt & "','" & Typ_Av_Annons & "','" & Rubrik & "','" & Arsmodell & "','" & Miltal & "','" & Bransle & "','" & Vaxellada & "','" & Annonstext & "','" & Pris & "','" & Bild & "','" & Lank & "','" & Lanknamn & "','" & Losenord & "','" & Tid & "','" & Datum & "')")
</code>
Allt som har Session lagras i databasen, allt annat som är Request.Form lagras inte.
Jag förstår inte vad som är felet.
Formen heter form, så det är inte det som är felet.
Tacksam för svar.
HassanSv: Lyckas ej lagra info i databas
<form action="lagra.asp?lang=<%= Request.QueryString("lang") %>" method="post" enctype="multipart/form-data" name="form" onSubmit="return andrasteg()">
detta funkar ej...
Detta funkar:
<form action="lagra.asp?lang=<%= Request.QueryString("lang") %>" method="post" name="form" onSubmit="return andrasteg()">
dvs, den fungerar när ja plockar bort enctype="multipart/form-data"
Hur gör jag med uppladdning av bilden då?Sv:Lyckas ej lagra info i databas
upload.form("namn_på_fält") istället för request.form("namn_på_fält") (om du använder aspUpload t.ex)Sv: Lyckas ej lagra info i databas
Sv:Lyckas ej lagra info i databas
SQL-inject är när en användare skriver SQL-kommandon i dina formulärsfält och på så vis tvingar din kod att utföra saker du inte vill.. t.ex att tömma databaser och annat otrevligt
Du undviker detta lätt genom att köra alla värden genom en Replace() funktion
strFirstName = replace(strFirstName, "'", "''")
dvs, man byter ut alla ' mot två st ' (detta påverkar inte utdata på något vis)Sv: Lyckas ej lagra info i databas
Genom att ge ett snabbt svar uppmuntrar du inte läsaren att söka vidare. Uten dessa känner sig ofta tillfreds med det.
Själv tycker jag du tar för lätt på problematiken. Andra databaser har andra sätt att "Escapa" tecken i strängar.
Därför tycker jag det är bätter att använda ett command objekt med parametrar. Då du gör din kod mindre känslig för vilken databas du kör. Samt garanterar att frågan inte kan förändras.
Med vänliga hälsningar,
Andreas HillqvistSv:Lyckas ej lagra info i databas
/Martin