Я читал об обфускации по электронной почте.
Я нашел интересную запись под названием Лучший метод для обфускации электронной почты?- Джеффом Старром , где он описывает различные тесты, проведенные Сильваном Мюлеманом в течение 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, которая переворачивает реальную строку, как видно на странице, такurce:
$lstEmail = strrev($lstEmail);
и CSS, чтобы обратить его снова на стороне клиента:
span.obfuscate { unicode-bidi:bidi-override; direction: rtl; }
И 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>
Но проблема в том, чтострока теперь обратная и не будет проверена ... Вот пример:
; 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 выше) ... Последнее, что я хочу сделать, - это начать играть вокруги создать пробел и выпустить кучу информации для спамеров!Я думаю, это было бы очень плохо для бизнеса ...