Большинство сценариев защиты от спама, которые я видел, на самом деле являются сценариями javascript, которые скрывают письмо, кодируя его с помощью символьных сущностей. Но я думаю, что хорошему боту все еще будет легко его декодировать?
На моем сайте я использовал отдельный контроллер, который используется только для отправки почты. Страница получает зашифрованный параметр электронной почты через GET и дешифрует его, используя определенный закрытый ключ. Затем задает заголовок: mailto: $ email и перенаправляет пользователя туда, откуда он пришел.
Это эффективный способ защиты ссылок электронной почты или я наблюдаю за чем-то важным?
if ($this->uri->total_segments() >= 1) {
$email = $this->decode($this->uri->uri_string());
if ($email) {
header("location: mailto: " . $email);
if (isset($_SERVER['HTTP_REFERER'])) {
redirect($_SERVER['HTTP_REFERER'], 'refresh');
}
}
}