web-dev-qa-db-ja.com

電子メールアドレス保護スニペット

ロボットから保護するスクリプトタグを使用して、Web上で電子メールを公開できるWebAppはありますか?

より明確にするために、選択可能かつコピー可能なテキストとして画面上に私の電子メールを印刷するが、HTMLソースコードからそれを隠すBlogspotに投稿を公開したい。これはスパム対策技術です。

ソリューションは、サーバーから電子メールアドレスを取得するか、既存のデータから電子メールアドレスを復号化するJavaScriptであると思います。ソリューションがサーバー側のプログラミングを必要としない場合、これはプログラミングの質問になる可能性がありますが、これについてはわかりません。

1
Jader Dias

コードを生成するサイトがたくさんあります。通常、電子メールアドレスをいくつかの変数に分割し、それらを画面に書き込みます。簡単な例:

<script type="text/javascript">
    dot = "."
    part1 = "john"
    part2 = "doe"
    part3 = "gma"
    part4 = "il"
    part5 = "co"
    part6 = "m"

    document.write( part1 + dot + part2 + "@" + part3 + part4 + dot + part5 + part6

    //returns [email protected]
</script>

より複雑なオプションは、各文字をHTML要素に変換します。

チェックアウト http://www.mobilefish.com/services/hideemail/hideemail.php#hideemail_input 例として

2
hookedonwinter

Hivelogic enkoder を使用します。

2
Don Kirkby

VB関数を使用してメールアドレスを生成します。アドレスをUTF-8または16進数にエンコードします。希望する任意の言語に変換できます。これはVB.NETコードです。

' Convert An Input String To Unicode Character Codes
Public Enum CloakType
    UTF8_1
    UTF8_2
    HEX_1
    HEX_2
    UniCode
End Enum

Public Function CloakIt(ByVal inTxt As String, ByVal iType As CloakType) As String
    Dim iInd As Integer
    Dim sOut As String
    sOut = ""
    If Len(inTxt) = 0 Then
        CloakIt = ""
        Exit Function
    End If
    For iInd = 1 To Len(inTxt)
        Select Case iType
            Case CloakType.UTF8_2 ', 2
                ' Long UTF-8 encoding without semicolons
                sOut = sOut & "&#" & Right("0000000" & CStr(Asc(Mid(inTxt, iInd, 1))), 7)
            Case CloakType.HEX_1 ', 3
                ' Hex encoding without semicolons
                sOut = sOut & "&#x" & Hex(Asc(Mid(inTxt, iInd, 1)))
            Case CloakType.HEX_2 ', 4
                ' Hex encoding with semicolons
                sOut = sOut & "&#x" & Hex(Asc(Mid(inTxt, iInd, 1))) & ";"
            Case CloakType.UniCode ', 5
                ' Unicode 2 Byte Hex encoding with semicolons
                sOut = sOut & "&#x00" & Hex(Asc(Mid(inTxt, iInd, 1))) & ";"
            Case Else
                ' UTF-8 Unicode Encoding
                sOut = sOut & "&#" & CStr(Asc(Mid(inTxt, iInd, 1))) & ";"
        End Select
    Next
    CloakIt = sOut
End Function
0
Dave