ale*_*lex 2 php regex spam-prevention email-spam
我正在使用PHP进行编程,并且希望创建具有电子邮件地址的网页,这些电子邮件地址很容易被人类阅读,但不容易被垃圾邮件发送者收集.电子邮件地址来自用户输入,我想我可以通过使用正则表达式识别地址,但我不清楚我应该如何更换电子邮件地址或用什么,以便保留大多数自动垃圾邮件机器人收获它们.
这是一个想法:(伪代码)
(email)@(domain.com) $1<span class="remove">DELETE</span>$2
.remove {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
希望机器人会在span标签上绊倒.
最后,我正在寻找一种不会干扰mailto:
标签内部电子邮件地址的解决方案.
重复 如何防止机器人收集电子邮件地址?这是什么方法来保护垃圾邮件网站上的电子邮件?也许还有其他一些......
您可以使用PHP GD库轻松创建任何给定文本的图像.
示例代码看起来像,
<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 255, 255, 255);
imagestring($im, 1, 5, 5, "anything@domain.com", $text_color);
imagepng($im);
imagedestroy($im);
?>
Run Code Online (Sandbox Code Playgroud)
好处:
缺点:
您也可以使用CSS对其进行模糊处理......
<span class="email-encrypt">moc.liamelgoog@avynnib<span class="email-decrypt-message">(Reverse this text to get my Email address)</span></span>
/*Decrypt Email */
.email-encrypt {
unicode-bidi:bidi-override;
direction: rtl;
}
.email-encrypt .email-decrypt-message {
display:none;
}
Run Code Online (Sandbox Code Playgroud)
编辑:在这里,在源的电子邮件地址是反向 - 什么CSS语句的作用是,它恢复的电子邮件地址,以原来的形式.我希望这是有道理的.
但我不确定这是多么有效 - 有很多机器人模拟浏览器环境.我想我最好说些什么 - 我的电子邮件是binnyva,googlemail.