Loading...

Ofuscar una direccion de e-mail ASP clásico

Ez.Biz Cloudware
Blog de ASP Clásico

Ofuscar una direccion de e-mail ASP clásico

Código ASP clásico

Por ASP clásico / 07/08/2012 @ 13:11:18 / 1408 visitas

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
%>

Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.

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

Descargo de Responsabilidad:

El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.