Пятница, 03.04.2020
Меню сайта
Вход на сайт
Логин:
Пароль:
Поиск
Статистика
Рейтинг@Mail.ru
Яндекс цитирования
Реклама
HTMLPerlPHPПрочее

Защита адресов электронной почты с применением ASCII кодов
Некоторые специальные символы сложно использовать в строках, поскольку их не просто вводить с клавиатуры. Однако существуют ASCII коды, для работы с которыми PHP имеет две функции:
  • chr() - преобразовывает ASCII-код в соответствующий символ.
  • ord() - возвращает ASCII-код символа.
    Данные функции можно использовать, например для защиты адресов электронной почты. Поскольку спамеры, будь они не ладны, пишут программы для поиска на страницах определенных структур, адреса электронной почты. Это может помочь уберечься от части спама. Суть защиты заключается в использовании кодов символов HTML для представления адресов, из-за чего спамерам становится сложнее найти данные электронной почты.
    Приведенный ниже код принимает в качестве параметра адрес электронной почты, в формате email@domain.ru и возвращает mailto:email@domain.ru, однако в формате HTML. Например, буква m в mailto: имеет ASCII-код 109; следовательно, $#109; обозначает m. Для выполнения необходимых действий задается цикл, проходящий по всем символам строки. Чтобы реализовать эту процедуру, необходимо определить длину строки при помощи функции strlen(). После этого функция ord() расчитывает ASCII-коды всех символов, которые впоследствии используются для построения HTML-кода.

  • Code
    <?php
    function protectMail($s) {
    $result = '';
    $s = 'mailto:' . $s;
    for ($i = 0; $i < strlen($s); $i ++) {
    $result .= '&#' . ord(substr($s, $i, 1)) . ';';
    }
    return $result;
    }
    echo '<a href="' . protectMail('email@domain.ru') . '">E-Mail</a>';
    ?>
    Категория: PHP | Добавил: mcreyt | Просмотров: 3874 | Дата: 22.02.2010
    Похожие материалы:
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]