Хорошие методы защиты ссылок электронной почты - PullRequest
5 голосов
/ 10 апреля 2011

Можете ли вы, ребята, опубликовать методы защиты от спама по электронной почте (в php или javascript)?

В основном я хочу разместить ссылку "mailto" на веб-странице, например

<a href="mailto:pony@fuu.com">E-mail me</a>

но я не хочу, чтобы спам-боты подняли его, а затем отправили мне спам с помощью писем об увеличении пениса:)

Пока что я нашел здесь обфускатор javascript: http://www.jottings.com/obfuscator/ Не уверен, насколько он эффективен ..

Ответы [ 3 ]

5 голосов
/ 10 апреля 2011

Решение для JavaScript

С помощью JavaScript вы можете сделать следующее.

emailE = ('yourname@' + 'emailserver.com')
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')

С этим сканеры больше не могут читать вашу электронную почту из исходного кода.

PHP-решение

С помощью php вы можете конвертировать вашу электронную почту в значения Unicode

function converte($email) {
    $p = str_split(trim($email));
    $new_mail = '';
    foreach ($p as $val) {
        $new_mail .= '&#'.ord($val).';';
    }
    return $new_mail;
}

и на своей странице использовать такую ​​функцию, как

<?php echo converte('my@email.com'); ?>

Вывод исходного кода будет выглядеть примерно так:

&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;
4 голосов
/ 10 апреля 2011

Вот вопрос, связанный с , и принятый ответ охватывает несколько методов защиты и то, насколько хорошо они работают.

Лучше всего использовать переадресацию кода CSS следующим образомта ссылка):

<span style="unicode-bidi:bidi-override; direction: rtl;">
moc.elpmaxe@zyx
</span>
0 голосов
/ 13 февраля 2013

Я написал функцию PHP, которая принимает электронную почту, разбивает ее, а затем использует JavaScript, чтобы собрать ее вместе

<?php
function php_split_js_make_email($phpemail)
{
    $pieces = explode("@", $phpemail);

    echo '
        <script type="text/javascript">
            var a = "<a href=\'mailto:";
            var b = "' . $pieces[0] . '";
            var c = "' . $pieces[1] .'";
                var d = "\' class=\'email\'>";
                var e = "</a>";
                document.write(a+b+"@"+c+d+b+"@"+c+e);
            </script>
            <noscript>Please enable JavaScript to view emails</noscript>
        ';
    }
?>

Демонстрация: http://djave.co.uk/php-js-email-protector/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...