Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7415177
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T07:14:59+00:00 2026-05-29T07:14:59+00:00

I have a been reading up on email obfuscation. I found an interesting post

  • 0

I have a been reading up on email obfuscation.

I found an interesting post entitled Best Method for Email Obfuscation? – By Jeff Starr where he describes various tests preformed over 1.5 years by Silvan Mühlemann.

According to this study, css obfustication was 100% effective throughout the 1.5-year test, despite its various downsides.

Seeing as i was playing around with this method of obfustication before, i decided to give it another go, with the addition of a php function that i came accross.

Here is the function:

// Converts email and tel into html special characters
function convert_email_adr($email)
{
    $pieces = str_split(trim($email));
    $new_mail = '';
    foreach ($pieces as $val)
    {
        $new_mail .= '&#'.ord($val).';';
    }
    return $new_mail; 
}

And here is the php using that function.

$lstEmail = convert_email_adr("{$row['email']}");

This does exactly as described, and i would assume that this would work out quite well, assuming the harvesters have not written code that identifies the string of special chars and decodes them.

So i decided, what if i combined these two methods, as in, i break the string into special chars, then use strrev on it, then use css to reverse the string… Simple…

Here is the added peice of php that reverses the actual string as seen in the page source:

$lstEmail = strrev($lstEmail);

and the css to reverse it again on the client side:

span.obfuscate { unicode-bidi:bidi-override; direction: rtl; }

And the html:

<p><span class='listHeadings'>eMail:</span> <span class='obfuscate' style='font-size:0.6em;'><a href='mailto: $lstEmail?subject=Testing 123'>$lstEmail</a></span></p>

But the problem is that the string is now in reverse and will not be validated… Here is an example:

;901#&;111#&;99#&;64#&;801#&;501#&;79#&;901#&;301#&;46#&;411#&;101#&;001#&;011#&;111#&;611#&;011#&;79#&;811#&;301#&;501#&;79#&;411#&;99#&

What happens is that the special characters are not decoded into actual characters, so all you see is the string of special character in reverse.

There is also the downside as described by Jeff Starr, that you cannot use the css method in mailto as you cannot use the span tag within the href attribute.

So now i am truly stuck at an odds of how to go about this task. I guess i might be able to live with forcing people to input my email address themselves if they would like to mail me… But, on the other hand, i am not so sure about that.

Then there comes the task of validating special characters in reverse…

Would anyone be able to provide me with any type of input or support in this regard? Also any suggestions in different, LEGITIMATE ways of going about this task would be greatly appreciated!!

I say legitimate because i plan to use these functions in one of my live projects that is a business listing website (currently using the php function above)… The last thing i want to do is start playing around and create a gap and let out a bunch of info for the spammers! I think that would be very bad for business…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T07:15:00+00:00Added an answer on May 29, 2026 at 7:15 am

    Just reverse it before you obfuscate it…

    $email  = 'blah@whatever.co.uk';
    $new    = convert_email_adr($email);
    
    echo '<span style="unicode-bidi:bidi-override; direction: rtl;">'.$new.'</span>';
    
    function convert_email_adr($email, $reverse = true, $obfuscate = true)
    {
        $email = trim($email);
    
        if($reverse)
        {
            $email  = strrev($email);
        }
    
        if($obfuscate)
        {
            $pieces = str_split($email);
            $email  = '';
    
            foreach($pieces as $piece)
            {
                $email .= '&#'.ord($piece).';';
            }
        }
    
        return $email; 
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

i have been reading this interesting article which is increasing my every growing confusion
I have been reading all the Apple documentation on how to handle various events
I have been reading through the C++ FAQ and was curious about the friend
I have been reading the MSDN documentation on subclassing and I have been successful
I have been reading about the differences between Table Variables and Temp Tables and
I have been reading the proper article in MSDN, Strong-Named Assemblies and a related
I have been reading through the CodePlex supported open source licenses, i couldn't quite
I have been reading up on this, and it seems that if you use
I have been reading the descriptions of referencing in Java, and, while I feel
I have been reading up on multiple PHP frameworks, especially the Zend Framework but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.