Avatar billede Monkeybrain Juniormester
12. august 2014 - 23:09 Der er 9 kommentarer og
1 løsning

Skjul bruger og kode til mssql

Hvordan kan man skjule sit brugernavn og kodeord til sin mssql database under en connection til denne.?

Jeg har et problem med et kontrolpanel der bliver hacket og der bliver lagt links ind i felterne på databasen.

Evt også nogle fif til en sikker log ind formular?
Avatar billede arne_v Ekspert
13. august 2014 - 00:04 #1
Hvis du bruger integrated security saa kende din app ikke brugernavn/kodeord.

Men du skal nok snarere til at beskytte dig mod SQL injection.
Avatar billede Monkeybrain Juniormester
13. august 2014 - 00:10 #2
Umiddelbart syntes jeg at jeg har beskyttet mig mod SQL Injection i login formularen. Men hvordan får hackeren indsat noget SQL-database..
Avatar billede Monkeybrain Juniormester
13. august 2014 - 00:12 #3
'Tjecker om felterner er udfydlt
    if Request.Form("email") <> "" AND Request.Form("password") <> "" then
       
                Set rs = Server.CreateObject("ADODB.Recordset")
                sql = "select * from users where email = '" & Replace(Request.Form("email"),"'","''") & "'"
                rs.open sql, conn, 1, 3
                                                                           
                'Tjecker om brugeren eksisterer
                if rs.EOF or rs.BOF then
           
                        Response.Redirect("/fail/failcode402")
                       
                else
               
                    password = Replace(Request.Form("password"),"'","''")
                           
                    if rs("password") = hex_md5(password) then
                   
                    session(session_name_signin) = rs("id")
                                                                                                   
                    Response.Redirect("/")                                                       
                           
                    else
                   
                        Response.Redirect("/fail/failcode403")
                       
                    end if
                   
                   
                end if
               
               
            rs.Close
            set rs = nothing
           
    else   
        Response.Redirect("/fail/failcode400")
    end if
Avatar billede arne_v Ekspert
13. august 2014 - 01:34 #4
Den SQL injection kunne ogsaa ske paa andre sider end login.
Avatar billede arne_v Ekspert
13. august 2014 - 01:34 #5
Replace ' med '' for beskyttelse mod SQL injection er godt nok aegte 90'er stil.
Avatar billede Monkeybrain Juniormester
13. august 2014 - 01:39 #6
Ok, tak for hjælpen..
Avatar billede softspot Forsker
13. august 2014 - 08:52 #7
Generelt set bør du benytte dig af ADO Command-objektet og så parametre til opslag og opdateringer af databasen. Se evt. min artikel her på eksperten for en intro til dette: www.eksperten.dk/guide/1250
Avatar billede Monkeybrain Juniormester
13. august 2014 - 11:22 #8
softspot gav mig den bedste løsning med linket til guiden..
Avatar billede softspot Forsker
13. august 2014 - 11:35 #9
Så skal du vel bruge et svar... :-)
Avatar billede dengamlefabrik Nybegynder
14. august 2014 - 15:12 #10
Dengang jeg programmerede med SQL oplysninger, havde jeg dem som regel i et eksternt dokument, hvor jeg havde dem gemt i variabler
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester