Avatar billede bramsing Nybegynder
14. januar 2008 - 11:38 Der er 6 kommentarer og
1 løsning

msSQL sammenling IP med Request.ServerVariables(REMOTE_ADDR)

Jeg har gloet mig blind på et lille og formentligt simpelt problem...

Jeg kan ikke få udtrækket fra databasen til at se sammenligningen mellem rsR("hip") og Request.ServerVariables("REMOTE_ADDR") for at tildele admin rettighed på sittet (i den sidste elseif)...
Såfremt jeg definere ip adressen manuelt går det fint...           
Kodesnip
connHomeipStr = "DRIVER={SQL Server}; SERVER="&Servernavn&"; DATABASE="&databasenavn&"; UID="&uidnavn&"; PWD="&pwdnavn&""
            rsSQLReadip = "SELECT * FROM "&tabel_ip&" WHERE hip = '"&Request.ServerVariables("REMOTE_ADDR")&"'"
            set conn = server.createobject("ADODB.connection")
            conn.Open connHomeipStr
            Set rsR = conn.execute(rsSQLReadip)
                do while not rsR.eof
                session("IP") = rsR("hip")
            rsR.movenext
            loop
            set rsR = nothing
            set conn = nothing
            if request.Form("username") = huser1 and request.Form("password") = huser1 then
                session("siteloggedin") = "ja"
                Session.Contents.Remove("admin")
                response.Redirect("?rum=toilet")
            elseif request.Form("username") = huser2 and request.Form("password") = hpass2 and Request.ServerVariables("REMOTE_ADDR") <> session("IP") then
                session("siteloggedin") = "ja"
                Session.Contents.Remove("admin")
                response.Redirect("?rum=toilet")
            elseif request.Form("username") = huser2 and request.Form("password") = hpass2 and Request.ServerVariables("REMOTE_ADDR") = session("IP") then
                session("admin") = "ja"
                session("siteloggedin") = "ja"
                response.Redirect("?rum=toilet")
            else
                response.Write("Der skete en fejl !!! Brugeren ikke fundet")
            end if
snipslut
Avatar billede nielle Nybegynder
14. januar 2008 - 18:12 #1
Hvor kobler du IP sammen med hvem der er admin?
Avatar billede bramsing Nybegynder
14. januar 2008 - 20:41 #2
Her:
1)
session("IP") = rsR("hip")

2)
elseif request.Form("username") = huser2 and request.Form("password") = hpass2 and Request.ServerVariables("REMOTE_ADDR") = session("IP") then
                session("admin") = "ja"
Avatar billede bramsing Nybegynder
14. januar 2008 - 20:43 #3
Men jeg tror jeg er nået frem til at det er MS SQL databasen der skaber problemet... Den indsætter en masse mellemrum i posten (der svare til det antal frie pladser der er i feltet)
Avatar billede nielle Nybegynder
14. januar 2008 - 20:58 #4
Er det ikke noteret i basen:

Denne IP = En adminsitrator

på en eller anden måde?

Basen burde bestemt ikke sev indsætte blanktegn. Hvis der er blanktegn, så er det indsætningskoden der gør det.
Avatar billede bramsing Nybegynder
14. januar 2008 - 21:14 #5
Det er brugernavnet sammen med de(n) indkodede IP adresser der giver admin rettighederne på sitet... IP adresserne verificeres så via Request.ServerVariables("REMOTE_ADDR") og databasen, hvor de skal være ens for at administrator rettighederne kan opnås...

Feltet er et char felt der er 15 pladser langt.. men den IP adresse jeg sidder og tester fra er kun 10 karatere langt... ergo er der indlagt 5 blanktegn som jeg tror skaber baladen.. Det er ikke indsættelses koden der er noget galt med for den tager kun det der er skrevet i feltet og sætter ind via request.form("ip")

Jeg er for nylig hoppet over på MS SQL hvor jeg før brugte MySQL og der virkede det hele som det burde...
Avatar billede bramsing Nybegynder
14. januar 2008 - 21:16 #6
bruger tabellen og IP tabellen er ikke den samme... Det er login scriptet der kontrolere fra gang til gang... en bruger kan godt logge ind uden at have admin rettigheder men bare alm. bruger rettigheder såfremt han (M/K) er i byen, hos venner m.v.
Avatar billede bramsing Nybegynder
14. januar 2008 - 22:34 #7
Jeg fandt fejlen i databasen... Jeg havde brugt Char og skulle havde brugt VarChar i stedet da Char indsætter blanktegn for resten af postens maxlængde...

Så jeg lukker igen...
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