Avatar billede hrlund Nybegynder
21. maj 2002 - 15:40 Der er 7 kommentarer og
1 løsning

Ipadresse

Har nedstående kode.. Jeg vil gerne gøre sådan, at når en IP har tilmeldt sig en gang, og vil tilmelde sig igen, kan man ikke fra den IP .. Hvordan gør jeg det ? Altså, der skal kun kunne stemmes én gang pr. IP

<%
            'Hvis brugeren har submittet formularen
                            if Request.ServerVariables("REQUEST_METHOD") = "POST" then
                                                           
  'Tjecker om felterne er udfyldt
  if ((UCASE(Request.Form("Nick")) = UCASE(Request.Form("Fyre"))) or (UCASE(Request.Form ("Nick")) = UCASE(Request.Form("Piger")))) then

  Response.write ("<b><font color='red' size='2'> Hov "& Request.Form("Nick"))
  response.write (". Du må jo ikke stemme på dig selv. <br>Stem du hellere på en anden i stedet for!")
  response.write ("</b></font>")
  Else if (Request.Form("Nick") <> "") then
 
                                   
                                    'Tilføjer brugeren til databasen
                                    Set rs = Server.CreateObject("ADODB.Recordset")
                                    strSQL = "select * from Maj where Nick = '" & Request("Nick") & "'"
                                    rs.Open strsql, conn, 1, 3
                                       
                                        'Tjecker om brugernavnet er optaget
                                        if rs.eof or rs.BOF then
                                               
                                                'Tilføjer brugeren til databasen og sender ham/hende til login siden
                                                rs.AddNew
                                                rs("Piger") = Request("Piger")
                                                rs("Fyre") = Request("Fyre")
                                                rs("Nick") = Request("Nick")
                                                rs("Ip") = Request.ServerVariables("REMOTE_ADDR")
                                                rs("Maskine") = Request.ServerVariables("REMOTE_HOST")
                                                rs("Dato") = Now()
                                                rs("Tid") = Time()
                                                rs.update

                                                Response.Redirect("stem.asp?mode=Tak")
                                        else
                                                'Skriver at brugernavnet er optaget
                                                Response.Write("<b><font color='red' size='2'>Hov! Du har jo allerede stemt! <br>Du må kun stemme én gang!</font></b><br>")
                                       
                                        end if
                                   
                                    rs.Close
                                    set rs = nothing
                                   
                                else
                                    Response.Write("<b><font color='red' size='2'>Du skal skrive dit chatnavn!</font></b><br>")
                                end if
                               
                            end if
                            end if
                        %>
Avatar billede Chewie Novice
21. maj 2002 - 15:49 #1
Hmmm ... hvad så med dem der sider på et mega netværk med mange bruger der er kun en af dem der vil få lov til at stemme :o(
Avatar billede hrlund Nybegynder
21. maj 2002 - 15:50 #2
jeg ved det ikke er smart, men folk kan ikke overholde at stemme KUN en gang, så derfor må de ødelægge det for dem som sidder bag et netværk .. Desværre..
Avatar billede cyberkox Nybegynder
21. maj 2002 - 15:57 #3
Så skal du jo bruge cookies...
Avatar billede hrlund Nybegynder
21. maj 2002 - 16:00 #4
Jah det kan man, meeen ved ikke lige hvordan man gør *G*
Avatar billede cyberkox Nybegynder
21. maj 2002 - 16:04 #5
Det er noget med:
    Response.Cookies("stem")(Request("Voteid")) = "x"
    Response.Cookies("stem").Expires = Date()+7
Avatar billede rxftp Nybegynder
21. maj 2002 - 16:06 #6
tag en kikker på cookiesne her:
http://activedeveloper.dk/iishelp/iis/htm/asp/intr87j9.htm
Det er nemmere end du tror

Rock on,
rxFTP
Avatar billede rxftp Nybegynder
21. maj 2002 - 16:07 #7
Men ellers er det Request.ServerVariables("REMOTE_ADDR")
Avatar billede eagleeye Praktikant
21. maj 2002 - 19:39 #8
Så udvider du bare din SQL sætning som tjekker på nick til også at tjekke på IP:

strSQL = "select * from Maj where Nick = '" & Request("Nick") & "' OR IP = '" & Request.ServerVariables("REMOTE_ADDR") & "'"


Dog som de andre har nævnt så udelukker du mange folk som er dagved en firewall som giver mange brugere samme IP. Ligeledes forhindre du ikke folk med modem i at oprette flere brugere da man med modem får tildelt sin IP adresse dynamsk, altså fra gang til gang.....
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