Hej,
Har upptäckt att behovet att kunna spärra enskilda IP-adresser samt hela IP-ranges från att komma åt en webbaserad tjänst så skulle jag behöva lite hjälp med att klura ut den lite mer avancerade biten.
Just nu kan jag blockera enskilda IP-adresser, men jag skulle vilja ha möjlighet att blockera hela IP-nummerserier / subnät
Enklast är väl att direkt köra IP-numret i själva sql-frågan och göra en sökning i en databas med följande uppbyggnad.
ID - vanligt id
IPNumber - ip-numer/serie som ska spärras
Attempts - hur många försök som gjorts från detta ip att besöka sidan
LastAttempt - när senaste försöket gjordes
Hittade en bra början av Solbulle
RecSet.Open "SELECT * FROM blsyslog WHERE UserIP = '" & Request.Servervariables("REMOTE_ADDR") & "'", Connect
Hur utvecklar jag den vidare så att om besökaren faktiskt är blockerad sedan tidigare så uppdateras kolumnen Attempts och LastAttempt? Misstänker att jag får köra någon form av
if not RecSet.eof then
köra någon form av UPDATE tblsyslog SET ... ?
end if
Känner någon till ett redan existerande IP-blockeringsscript så att man slipper uppfinna hjulet en gång till?
Nuvarande kod som används
<%
Dim check, blocked
CheckUser = Request.ServerVariables("REMOTE_ADDR")
UserBlocked = "10.0.0.2, 10.0.0.3, 10.0.0.7"
If InStr(UserBlocked, UserCheck) Then
response.write "Pga av tidigare intrångsförsök spårade till din IP-adress är denna tjänst ej tillgänglig längre för dig. Vid frågor, kontakta oss på zx@yw.nn"
End If
%>