NovaMedlem sedan feb. 2005216 inlägg Om det är i fel forum hoppas jag att någon trevlig moderator flyttar eller tar bort.
Jag tänkte börja göra en uppdateringsfunktion till min hemsida och använder mig av Dreamweaver och man kan på ett enkelt sätt skapa en innloggningsfunktion med sessionvariabler och en "sida där man är inloggad", Eftersom det skrivs så mycket överallt om sql injections så funderar jag om Dw inbyggda funktioner är säkra?
J.N.Medlem sedan apr. 20031 660 inlägg HEJ!
Jag skulle inte tro att program fixar det automatiskt, men chansen finns.
Svaret ligger i att kontrollera koden, läggs det till några funktionsanrop, och vad står det i funktionen?
Skulle det finnas tex fix_sql_from_bad_char, då bör saken vara rätt klar. :e
NovaMedlem sedan feb. 2005216 inlägg Så här ser inloggningskoden ut och om jag har glömt att ersätta fältnamn m.m med XXXX så hoppas jag att ni blundar :)
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
MM_valUsername=CStr(Request.Form("XXXXX"))
If MM_valUsername <> "" Then
MM_fldUserAuthorization=""
MM_redirectLoginSuccess="XXXX.asp"
MM_redirectLoginFailed="Xxxx.asp"
MM_flag="ADODB.Recordset"
set MM_rsXXXX = Server.CreateObject(MM_flag)
MM_rsXXXX.ActiveConnection = MM_news_STRING
MM_rsXXXX.Source = "SELECT XXXX, XXXXX"
If MM_fldUserAuthorization <> "" Then MM_rsXXXX.Source = MM_rsXXXX.Source & "," & MM_fldUserAuthorization
MM_rsXXXX.Source = MM_rsXXXX.Source & " FROM XXXXX WHERE XXXXX='" & Replace(MM_valUsername,"'","''") &"' AND XXXXX='" & Replace(Request.Form("XXXXXX"),"'","''") & "'"
MM_rsXXXX.CursorType = 0
MM_rsXXXX.CursorLocation = 2
MM_rsXXXX.LockType = 3
MM_rsXXXX.Open
If Not MM_rsXXXX.EOF Or Not MM_rsXXXX.BOF Then
' username and password match - this is a valid user
Session("MM_Username") = MM_valUsername
If (MM_fldUserAuthorization <> "") Then
Session("MM_UserAuthorization") = CStr(MM_rsXXXX.Fields.Item(MM_fldUserAuthorization).Value)
Else
Session("MM_UserAuthorization") = ""
End If
if CStr(Request.QueryString("accessdenied")) <> "" And false Then
MM_redirectLoginSuccess = Request.QueryString("accessdenied")
End If
MM_rsXXXX.Close
Response.Redirect(MM_redirectLoginSuccess)
End If
MM_rsXXXX.Close
Response.Redirect(MM_redirectLoginFailed)
End If
solbulleMedlem sedan mars 20015 287 inlägg Denna kodrad löser det hela:
MM_rsXXXX.Source = MM_rsXXXX.Source & " FROM XXXXX WHERE XXXXX='" & Replace(MM_valUsername,"'","''") &"' AND XXXXX='" & Replace(Request.Form("XXXXXX"),"'","''") & "'"
(Replacen)