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