Ofuscar una direccion de e-mail ASP clásico

Código ASP clásico

Hoy en día es común que los spammers busquen direcciones de correo electrónico en el contenido de los sitios web usando software especializado. Esta función ofusca una dirección de correo electrónico, pero la mantiene funcional:

<%
'***********************************************************
'// USAGE
'***********************************************************
'// [1] Add fm_str2Arr, fm_decode, fm_obfuscate function into your page or include.
'// [2] Print fm_obfuscate
'// ARGUMENTS
'// @email : String
'// @method : Number  (default=3)
'// 1 : Decimal
'// 2 : Hexadecimal
'// 3 : Random
'// @Optional Text : E-mail Text
'// SAMPLE (see more in demonstrations -at the end of the code-)
'// Response.Write fm_obfuscate("email@address.com",2,"Drop me a mail")
'***********************************************************


'******************************************************************
'// Convert a String to Array by Ferruh Mavituna
'******************************************************************
Function fm_str2Arr(byVal Str, byRef Arr)
Dim i, StrLen
StrLen = Len(Str)-1

Redim Arr(StrLen)

For i = 0 to StrLen
Arr(i)=Left(Str,1)
If Len(Str)>0 Then Str=Right(Str,Len(Str)-1)
Next
End Function


'******************************************************************
'// Decode Characters by Ferruh Mavituna
'******************************************************************
Function fm_decode(byVal Char, byVal method)
'// Randomize
'***********************************
If method=3 Then
Randomize Timer
method = CInt(Rnd*1)+1
End If

'// Select Method
'***********************************
Select Case method
Case 1 '// Decimal Notation
'***********************************
fm_decode = Asc(Char)

Case 2 '// Hexadecimal Notation
'***********************************
fm_decode = "x" & Hex(Asc(Char))
End Select
End Function


Function fm_obfuscate(byVal email,byVal method, byval OptText)
Dim tmpStr, mailArr(), i, finalStr, mailtoArr(), tmpMailtoStr

'// Fix method
If NOT isNumeric(method) Then method = 3
If method>3 Then method = 3

'// Encode "mailto:"
fm_str2Arr "mailto:",mailtoArr
For i = 0 To Ubound(mailtoArr)
tmpMailtoStr = tmpMailtoStr & "&#" & fm_decode(mailtoArr(i),method) & ";"
Next

'// Convert String to Array
'***********************************
fm_str2Arr email,mailArr

'// Generate Text
'***********************************
For i = 0 To Ubound(mailArr)
finalStr = finalStr & "&#" & fm_decode(mailArr(i),method) & ";"
Next

'// Fix OptionText
'***********************************
If OptText="" Then
OptText = finalStr
End If
finalStr = tmpMailtoStr & finalStr

'// Return
'***********************************
fm_obfuscate = "<a href=""" & finalStr & """>" & OptText & "</a><br />"
End Function
%>

tags: asp clasico, funcion de la cadena, asp lenguaje, funciones para cadenas, asp cadenas, cadenas en asp

En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.