PHPでのメールアドレスの難読化方法


  1. メールアドレスを文字実体参照に変換する方法:
<?php
$email = '[email protected]';
$obfuscatedEmail = '';
for ($i = 0; $i < strlen($email); $i++) {
    $obfuscatedEmail .= '&#' . ord($email[$i]) . ';';
}
echo $obfuscatedEmail;
?>
  1. メールアドレスをJavaScriptで生成する方法:
<?php
$email = '[email protected]';
$obfuscatedEmail = '';
for ($i = 0; $i < strlen($email); $i++) {
    $obfuscatedEmail .= '\x' . dechex(ord($email[$i]));
}
echo "<script type='text/javascript'>
document.write('<a href=\"mailto:' + unescape('" . $obfuscatedEmail . "') + '\">' + unescape('" . $obfuscatedEmail . "') + '</a>');
</script>";
?>
  1. メールアドレスをCSSで表示する方法:
<?php
$email = '[email protected]';
$obfuscatedEmail = '';
for ($i = 0; $i < strlen($email); $i++) {
    $obfuscatedEmail .= '\\' . dechex(ord($email[$i]));
}
echo "<span class='obfuscated-email'>{$obfuscatedEmail}</span>";
?>

これらの方法は、メールアドレスを難読化するための一般的な手法です。ただし、完全にスパムボットからの収集を防ぐことはできません。セキュリティを向上させるためには、さまざまな手法を組み合わせることが重要です。また、これらの方法はユーザーに対しても利便性の低下をもたらす可能性があるため、注意が必要です。

以上が、PHPでメールアドレスを難読化する方法といくつかのコード例です。これらの手法を使用することで、メールアドレスの収集を難しくすることができます。ただし、常に最新のセキュリティベストプラクティスに従うことをお勧めします。