Wie kann man Spam-Nachrichten und Spam-Kommentare auf Websites (Message Boards) wirksam verhindern? Dieser Artikel enthält detaillierte Lösungsideen und Implementierungsschritte. Freunde, die mehr wissen möchten, können auf Folgendes verweisen
1. Auf der Seite zum Ausfüllen des Formulars: <input type="hidden" value="<%=Now()%>">
Legen Sie auf der Seite „Übermittlungsverarbeitung“ die Übermittlungszeit fest
Kopieren Sie den Codecode wie folgt:
Wenn DateDiff("s",request.form("intime1"), Now()) < 5 dann
Response.write "<SCRIPT language=JavaScript>alert('Ihre Nachrichtengeschwindigkeit ist zu hoch, es ist verboten, Nachrichten zu hinterlassen!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Antwort.Ende
Ende wenn
2. Bestätigungscode
Kopieren Sie den Codecode wie folgt:
yz=cstr(request.Form("yz"))
yz1=cstr(session("yz1"))
wenn yz1<>yz dann
Response.Write("<script language=javascript>alert('Bitte geben Sie den Bestätigungscode korrekt ein!');</script>")
Response.redirect("sign.asp")
Ende wenn
3. Bestimmen Sie den Ursprung
Kopieren Sie den Codecode wie folgt:
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
'Response.Write(server_v1)
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
'Response.Write(server_v2)
if mid(server_v1,8,len(server_v2))<>server_v2 dann
Response.Write("<script language=javascript>alert('Externe Übermittlung von Daten ist verboten!');</script>")
Antwort.Ende
Ende wenn
4. Legen Sie die Anzahl der täglichen Einreichungen fest
Kopieren Sie den Codecode wie folgt:
„Wenn der Benutzer einmal übermittelt
if request.cookies("postnum")="" dann
Response.cookies("postnum")=1
Response.cookies("postnum").expires=DateAdd("h", 24, Now())
anders
Response.cookies("postnum")=request.cookies("postnum")+1
Ende wenn
wenn request.cookies("postnum") > 3 dann
Response.write "<SCRIPT language=JavaScript>alert('Die Anzahl der Nachrichten heute hat das Limit überschritten, Nachrichten sind verboten!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Antwort.Ende
Ende wenn
5. IP verbieten
Kopieren Sie den Codecode wie folgt:
server_ip=Cstr(Request.ServerVariables("REMOTE_ADDR"))
if right(server_ip,8) = „194.165.“
Response.write „Überlappende Einreichungen 194.165 sind verboten.“
Antwort.End()
Ende wenn
1. Stellen Sie fest, ob die veröffentlichten Informationen eine zuverlässige Quelle haben. Solange es von einer natürlichen Person gepostet wird, muss es über die Übermittlungsseite stammen, die wir den Benutzern zur Verfügung stellen, und es muss eine Quelle angegeben werden, wenn es von einer Maschine gepostet wird, gibt es keine Quelleninformationen.
„Bestimmen Sie die Herkunft und verbieten Sie externe Einsendungen.“
Kopieren Sie den Codecode wie folgt:
dimmen Sie server_v1, server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
wenn server_v1="" oder instr(server_v1,"/add.asp")<=0 oder mid(server_v1,8,len(server_v2))<>server_v2 dann
Response.write „<SCRIPT language=JavaScript>alert(‘Illegale Quelle, externe Übermittlung verboten!‘);“
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Antwort.Ende
Ende wenn
Beachten Sie, dass /add.asp oben die Quellseite der Übermittlungsseite ist. Natürlich kann die Maschine auch den Ursprung fälschen, was in Kombination mit den folgenden Methoden behoben werden muss.
2. Bestätigungscode. Bestätigungscodes waren schon immer eine praktikable Methode, um mit maschinellen Spam-Nachrichten umzugehen. Verschiedene Verifizierungscodes verfügen über unterschiedliche Fähigkeiten im Umgang mit Maschinennachrichten. Je komplexer der Verifizierungscode, desto schwieriger ist es für Maschinen, ihn zu knacken. Dabei muss eine Balance zwischen der Berücksichtigung der Gefühle des Benutzers und dem Umgang mit der Maschine gefunden werden. Ich werde nicht viel über die Verwendung des Bestätigungscodes sagen. Bei der Suche auf Google und Baidu werden viele Einführungen angezeigt.
3. Bestimmen Sie den Zeitpunkt der Quellenübermittlung. Wenn die auf der Einreichungsseite verbrachte Zeit zu kurz ist, z. B. 20 Sekunden, muss die Schreibzeit im Allgemeinen nicht so kurz sein, solange es sich um eine Einzelperson handelt. Wenn der Benutzer beispielsweise die Seite öffnet (z. B. add.asp), zeichnen wir die Uhrzeit auf und fügen dem Formularübermittlungsformular ein verstecktes Objekt hinzu, z. B.:
<input type="hidden" value="<%=Now()%>">
Wenn der Benutzer dann eine Nachricht schreibt und sie an die spezifische Verarbeitungsseite (z. B. addok.asp) sendet, erhalten wir die aktuelle Zeit und vergleichen sie mit der intime1-Zeit in add.asp. Wenn die Zeitdifferenz kleiner als die eingestellte ist B. 20 Sekunden, sind Nachrichten verboten und es wird festgestellt, dass es sich um eine Maschine handelt. Der Code kann wie folgt geschrieben werden:
Kopieren Sie den Codecode wie folgt:
Wenn DateDiff("s",request.form("intime1"), Now()) < 20 dann
Response.write "<SCRIPT language=JavaScript>alert('Ihre Nachrichtengeschwindigkeit ist zu hoch, es ist verboten, Nachrichten zu hinterlassen!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Antwort.Ende
Ende wenn
Mit den oben genannten drei Methoden können die meisten Spam-Kommentare von Robotern blockiert werden. Wenn es immer noch eine große Anzahl von Kommentaren gibt, werden sie wahrscheinlich von Menschen hinterlassen. Doch wie gehen wir mit menschlichen Botschaften um? Flymorn bietet auch Methoden, um damit umzugehen.
Die Methode ist sehr einfach und besteht darin, die Anzahl der von demselben Benutzer geposteten Kommentare zu begrenzen, indem die Cookies und die IP des Benutzers aufgezeichnet werden. Beispielsweise darf derselbe Benutzer innerhalb von 24 Stunden am Tag nur 5 Nachrichten posten. Wir können dies durch die folgenden Methoden erreichen.
Kopieren Sie den Codecode wie folgt:
<%'Wenn der Benutzer einmal sendet
if request.cookies("postnum")="" dann
Response.cookies("postnum")=1
Response.cookies("postnum").expires=DateAdd("h", 24, Now())
anders
Response.cookies("postnum")=request.cookies("postnum")+1
Ende wenn
wenn request.cookies("postnum") > 5 dann
Response.write "<SCRIPT language=JavaScript>alert('Die Anzahl der Nachrichten heute hat das Limit überschritten, Nachrichten sind verboten!');"
Response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
Antwort.Ende
Ende wenn
%>
Durch die oben genannten Einschränkungen wurde auch die manuelle Buchung in gewissem Umfang eingeschränkt. Die obige Methode basiert auf der Cookie-Beurteilung. Natürlich können Benutzer COOKIES über den Browser löschen, aber dies erschwert das Posten von Spam-Beiträgen und erhöht die Schwelle. Wir können auch weiterhin die IP des Herausgebers ermitteln und unser Ziel erreichen, indem wir die Anzahl der Beiträge unter derselben IP begrenzen. Hier wird es keine weitere Erweiterung geben. Sie können Ihre eigene Methode zur Bestimmung der IP-Adresse entwerfen, um das Posten einzuschränken. Wenn Sie Meinungen oder Vorschläge zu den in diesem Artikel behandelten Themen haben, hinterlassen Sie bitte einen Kommentar, damit wir ihn gemeinsam diskutieren können.