Auf Webseiten gepostete E-Mails werden häufig von einigen Tools automatisch extrahiert, und einige illegale Benutzer verwenden die extrahierten E-Mails zum Versenden von Spam. Die meisten dieser Tools suchen nach den Informationen nach „mailto:“ oder den Informationen vor und nach „@“ im Link, um den Zweck des Extrahierens von E-Mails zu erreichen. Ich habe mir den Quellcode von DotNetNuke (im Folgenden als DNN bezeichnet) angesehen und eine gute Möglichkeit gefunden, zu verhindern, dass diese Informationen automatisch extrahiert werden.
Es gibt eine solche Funktion in DNN (in Globals.vb):
Öffentliche Funktion CloakText()Function CloakText(ByVal PersonalInfo As String) As String
Wenn nicht, ist PersonalInfo nichts
Dim sb As New StringBuilder
' in ASCII-Zeichencodes konvertieren, die Zeichenfolge in ASCII-codierte Zeichenfolgenform konvertieren
sb.Remove(0, sb.Length)
Dim StringLength As Integer = PersonalInfo.Length - 1
Für i As Integer = 0 To StringLength
sb.Append(Asc(PersonalInfo.Substring(i, 1)).ToString)
Wenn i < StringLength, dann
sb.Append(",")
Ende wenn
Weiter
' Skriptblock erstellen
Dimmen Sie sbScript als neuen StringBuilder
sbScript.Append(vbCrLf & "<script language=""javascript"">" & vbCrLf)
sbScript.Append("<!-- " & vbCrLf)
'fromCharCode-Methode: Gibt eine Zeichenfolge aus einigen Unicode-Zeichenwerten zurück.
sbScript.Append(" document.write(String.fromCharCode(" & sb.ToString & "))" & vbCrLf)
sbScript.Append("// -->" & vbCrLf)
sbScript.Append("</script>" & vbCrLf)
Gibt sbScript.ToString zurück
Anders
Gibt Null.NullString zurück
End If
End-Funktion
Dieser Code konvertiert zunächst die zu verschlüsselnden Informationen in ASCII-codierte Zeichenfolgenform und schreibt sie dann mithilfe der Methode document.write in Javascript auf die Seite.
Ich habe den folgenden Effekt getestet und er funktioniert gut. Sie können es auch versuchen.
<html>
<Kopf>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Informationsverschlüsselung testen</title>
</head>
<body>
Links, die extrahiert werden können: <a href=" mailto:[email protected]">[email protected]</a><br >
Links, die nicht extrahiert werden können:
<script language="javascript">
<!--
document.write(String.fromCharCode(60,97,32,104,114,101,102,61,34,109,97,105,108,116,111,58,120,120,120,64,116,111,109,
46,99,111,109,34,62,120,120,120,64,116,111,109,46,99,111,109,60,47,97,62))
// -->
</script>
</body>
</html>
Wenn Sie interessiert sind, können Sie auch komplexere Methoden zum Verschlüsseln verwenden. Mit einem Wort: Menschen können nicht mehr einfach an Informationen gelangen!