Обфускация PHP+CSS - PHP ord THEN PHP strrev + CSS reverse text, как заставить специальные символы проверяться в обратном порядке?

Я читал об обфускации электронной почты.

Я нашел интересный пост под названием Лучший метод обфускации электронной почты? - Джефф Старр, где он описывает различные тесты, проведенные в течение 1,5 лет Сильваном Мюлеманном.

Согласно этому исследованию, обфускация с помощью css была на 100% эффективной в течение 1,5 лет, несмотря на различные недостатки.

Поскольку я уже играл с этим методом обфускации, я решил попробовать еще раз, добавив функцию php, которую я нашел.

Вот эта функция:

// 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; 
}

А вот php, использующий эту функцию.

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

Это делает именно то, что описано, и я предполагаю, что это будет работать достаточно хорошо, если харвестеры не написали код, который идентифицирует строку специальных символов и декодирует их.

И я решил, что если объединить эти два метода, например, разбить строку на специальные символы, затем использовать strrev, затем использовать css для реверса строки... Просто...

Вот добавленный кусок php, который реверсирует фактическую строку, как видно в источнике страницы:

$lstEmail = strrev($lstEmail);

и css для реверсирования на стороне клиента:

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

И html:

eMail: $lstEmail

Но проблема в том, что строка теперь обратная и не будет проверена... Вот пример:

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

Происходит то, что специальные символы не декодируются в реальные символы, поэтому все, что вы видите - это строка специальных символов в обратном порядке.

Существует также недостаток, описанный Джеффом Старром, что вы не можете использовать метод css в mailto, поскольку вы не можете использовать тег span в атрибуте href.

Так что теперь я действительно застрял в раздумьях о том, как решить эту задачу. Я думаю, я мог бы смириться с тем, что людям придется самим вводить мой адрес электронной почты, если они захотят написать мне... Но, с другой стороны, я не уверен в этом.

Затем возникает задача проверки специальных символов в обратном порядке...

Может ли кто-нибудь оказать мне какую-либо помощь или поддержку в этом вопросе? Также любые предложения по различным, ЛЕГИТИМНЫМ способам решения этой задачи были бы очень признательны!!!

Я говорю легитимный, потому что я планирую использовать эти функции в одном из моих живых проектов, который является веб-сайтом бизнес-листинга (в настоящее время используется php функция выше)... Последнее, что я хочу сделать, это начать играть вокруг и создать пробел и выпустить кучу информации для спамеров! Я думаю, это будет очень плохо для бизнеса...

5
задан Craig van Tonder 22 January 2012 в 07:14
поделиться