22. september 2003 - 22:07Der er
17 kommentarer og 1 løsning
Bad words filter og send ip til db
Hej. Jeg har før fået hjælp fra nogle eksperter om et "bad words filter" og ip ban system, og det virkede også fint, men nu prøver jeg at tilpasse de samme koder til en anden gæstebog men det virker ikke helt....
Bad words filter kode: <% str = gaestebog.Fields.Item("besked").Value
ulovligeord = "fuck|pis|fucker" Set regEx = New RegExp regEx.Global = true regEx.IgnoreCase = True
Kode hvor ip bliver sendt til db når personen skriver besked: MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ", Ip) values (" & MM_dbValues & ",'"&Request.ServerVariables("REMOTE_ADDR")&"')"
Kode i den nye gæstebogen: <%
if Request.QueryString("islem") <> "ekle" then %>
<script language="javascript"> function yolla(){ var isim=document.misafir.isim.value; var mail=document.misafir.mail.value; var yer=document.misafir.yer.value; var notu=document.misafir.notu.value;
if (isim=="") { alert("Lütfen adinizi ekleyin") document.misafir.isim.focus() return false }
if (mail==""){ alert("Lütfen E-Mail ekleyin."); document.misafir.mail.focus() return false }
Do While sayac < SayfaIci And Not mRS.EOF %> <tr bgcolor=#fffff9><td valign=top width="100"><img src='img/right.gif' border=0 align=middle> <b><font size=2
color=black><b>[Toplam: " & mrs.recordcount & "]</b> " & " .. Sayfalar :" for i=1 to Sayfalar step 1 if sayfa = i then Response.Write "<font size=1><b> "&i&", </b></font>" else response.write "<a href='default.asp?modul=defter&seite="&i&"'><font size=1><b>" & i & "</b></font></a>, " end if next
%> </font></td></tr>
</table>
<%
mrs.Close Set mrs = nothing mconn.Close set mconn = nothing
end if %>
Kan nogle få de koder til at passe til den nye gæstebog
Hejsa igen :O) er ikke så stærk i regex, men hvis den kode du har fået virke burde du kunne bruge følgende...
<%
if Request.QueryString("islem") <> "ekle" then %>
<script language="javascript"> function yolla(){ var isim=document.misafir.isim.value; var mail=document.misafir.mail.value; var yer=document.misafir.yer.value; var notu=document.misafir.notu.value;
if (isim=="") { alert("Lütfen adinizi ekleyin") document.misafir.isim.focus() return false }
if (mail==""){ alert("Lütfen E-Mail ekleyin."); document.misafir.mail.focus() return false }
Hehe :O) Denne linie: Dim sayfaIci, mconn, mrs, msql, sayac, Sayfalar, gastNot skal du lige lave følgenden: Dim sayfaIci, mconn, mrs, msql, sayac, Sayfalar, gastNot, ulovligeord, regEx
Hvorfor det tilføjer xxx kan jeg ikke helt forstå har lige prøvet at køre noget ligenden her hos mig, og der kommer xxx kun der hvor jeg har skrevet et ulovligt ord... der bliver skreve xxx istedet for det ulovlige ord...
skal ip'en tilføjes skal du under denne linie: mrs.Fields("text") = gastNot skrive dette mrs.Fields("Ip") = Request.ServerVariables("REMOTE_ADDR")
kan heller ikke forstå hvorfor den kommer med de ekstra "xxx" men det gøre den altså.....
jeg ved godt jeg springer rundt i sp, men når du enlig er i gang :) kan du ikke også lige fortælle hvordan jeg laver connection om så den kan tjekke en tabel i db om ip er banned?
'*** check en en bruger er banned... set rs = Server.CreateObject("ADODB.Recordset") rs.ActiveConnection = MM_Conn_STRING rs.Source = "SELECT * FROM bannedIp where ip = '" & Request.ServerVariables("REMOTE_ADDR") & "'" rs.CursorType = 0 rs.CursorLocation = 2 rs.LockType = 3 rs.Open() if not rs.eof then response.write "Du er banned" response.end end if
Jamen det var da så lidt :O) Fuck det kode er noget være rod, og det gør det ikke lettere at noget af det er på tyrkisk :O) Skal det tjække så man slet ikke kan se noget, eller skal den "bare" lade være med at smide noget i db'en... hvis man ikke skal kunne se noget, så skal du oven over denne linie:
if Request.QueryString("islem") <> "ekle" then sætte følgende ind: Set mConn = Server.CreateObject("ADODB.Connection") Set mRs = Server.CreateObject("ADODB.Recordset")
mConn.Open myDb
mSQL = "select * from bannedIp where ip = '" & Request.ServerVariables("REMOTE_ADDR") & "'"
mRs.Open msql, mconn, 1, 3
if rs.eof then
så går du helt ned i bunden, lige før det sidste %> der skriver du følgenden: else Response.write "Du er banned" End If mrs.Close Set mrs = nothing mconn.Close set mconn = nothing
få følgende fejl; Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1. /celikan/veri/gast.asp, line 9
Hehe jeg er vist meget træt :O) mSQL = "select * from bannedIp where ip = '" & Request.ServerVariables("REMOTE_ADDR") & "'" skal ændres til mSQL = "select * from bannedIp where bannedIp = '" & Request.ServerVariables("REMOTE_ADDR") & "'" det felte i din db hedder bannedIp og ikkke Ip :O)
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.