Avatar billede moore Nybegynder
09. november 2006 - 19:20 Der er 13 kommentarer og
1 løsning

mmm. kan ikke lige se fejlen ang. IP

hej

Når jeg forsøger at køre det her script, da jeg gerne vil have at nogle IP adresser IKKE kommer ind på siden, får jeg følgende fejl..

Type Mismatch

Her er koden

<% @language=VBScript %>
<%

set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb")


if oRS("IP") = "221.16.172.104" or "125.185.190.169" or "219.109.102.51" then
response.redirect ("https://www.cia.gov")
end if


Person = request.form ("Person")
Email = request.form("Email")
Beskrivelse = request.form ("Beskrivelse")
IP = Request.ServerVariables("REMOTE_ADDR")


  strSQL = "Insert into gastebog (Person, Email, Beskrivelse, IP) values ('" & Person & "', '" & Email & "', '" & Beskrivelse & "', '" & IP & "')"
  response.write strSQL
  Conn.Execute(strSQL)


    conn.Close
    set conn = nothing

   
Set JMail = Server.CreateObject("JMail.SMTPMail")

JMail.ServerAddress = "mail.thomasknielsen.dk"

JMail.Sender = "info@thomasknielsen.dk"
JMail.Subject = "Der er kommet et indlæg i gæstebogen"

JMail.AddRecipient "x@webspeed.dk"

' 1 - highest priority (Urgent)
' 3 - normal
' 5 - lowest
JMail.Priority = 1

JMail.Execute
   
   
   
   
response.redirect ("/index.asp?id=8")
%>
Avatar billede cpufan Juniormester
09. november 2006 - 19:26 #1
if oRS("IP") = "221.16.172.104" or oRS("IP") ="125.185.190.169" or oRS("IP")="219.109.102.51" then
Avatar billede cpufan Juniormester
09. november 2006 - 19:27 #2
if oRS("ip") in("221.16.172.104","125.185.190.169","219.109.102.51") then er lidt kortere og nemmere at tilføje nye til.
Avatar billede moore Nybegynder
09. november 2006 - 19:30 #3
Får følgende fejl ved brug af den sidste linie

Microsoft VBScript compilation error '800a03f9'

Expected 'Then'

/gastebog/update.asp, line 8

if oRS("ip") in("221.16.172.104","125.185.190.169","219.109.102.51") then
Avatar billede cpufan Juniormester
09. november 2006 - 19:37 #4
iparray = ("221.16.172.104","125.185.190.169","219.109.102.51")
ok = 1
for i = 0 to ubound(iparray)
if oRS("ip") = iparray(i) then ok = 0
next

if ok = 0 then response.redirect("https://cia.gov")
Avatar billede moore Nybegynder
09. november 2006 - 19:40 #5
Fortår snart ikke hvad der er galt mere...
Jeg har i min access en række som hedder IP.. og der skal den bare.. hvis ip-adressen nu forsøger at skrive guide vedkommende væk...

Expected ')'

/gastebog/update.asp, line 8

iparray = ("221.16.172.104","125.185.190.169","219.109.102.51")
---------------------------^
Avatar billede cpufan Juniormester
09. november 2006 - 19:52 #6
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("database.mdb")

sql ="select from tabelnavn where ip ='"&Request.ServerVariables("REMOTE_ADDR")
set rs = conn.execute(sql)

if not rs.eof then
response.redirect("https://cia.gov")
end if
Avatar billede cpufan Juniormester
09. november 2006 - 19:53 #7
hov

sql ="select from tabelnavn where ip ='"&Request.ServerVariables("REMOTE_ADDR")&"'"
Avatar billede moore Nybegynder
09. november 2006 - 19:58 #8
den virker fint nu.. men tænkte..
De IP adresser jeg nu ikke vil have til at få adgang til min gæstebog.. hvor skal jeg indsætte dem??
Avatar billede cpufan Juniormester
09. november 2006 - 20:03 #9
i din db "tabelnavn" feltnavn="ip" eller opret noget andet passende
og tilret sql-sætningen
Avatar billede cpufan Juniormester
09. november 2006 - 20:05 #10
lav en tabel der hedder ipblock med et felt der hedder ip, og en autonummerering som primær.
indsæt de forbudte ipnr i tabellen

og så

sql ="select from ipblock where ip ='"&Request.ServerVariables("REMOTE_ADDR")&"'"
Avatar billede ellebaek Nybegynder
09. november 2006 - 22:12 #11
du kan bare smide dette i toppen på din gæstebog hvis du har lavet den tabel med IP-block:

sql ="select from ipblock where ip ='"&Request.ServerVariables("REMOTE_ADDR")&"'"
set rsTest = rs.execute(sql)
if not rsTest.eof then
response.write "Du har ikke adgang"
response.end
end if

så skal du bare have en connection til databasen der hedder rs, så stopper du alt eksekvering af kode for den bruger der ikke har adgang..
Avatar billede Slettet bruger
14. november 2006 - 23:44 #12
Personligt bruger jeg dette script:
<%

set conn = server.createobject("ADODB.Connection")
dsn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("database.mdb")
conn.open dsn

sql = "select * from ipban where ip = '" & request.servervariables("remote_addr") & "'"
set rs = conn.execute(sql)

if not rs.eof then
  response.redirect("banned.asp")
end if

conn.close
set conn = nothing

%>
Avatar billede Slettet bruger
14. november 2006 - 23:44 #13
.
Avatar billede moore Nybegynder
15. november 2006 - 10:17 #14
Valgte at bruge det som erizias havde lavet.. virker indtil videre som det skal :))
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