我已经使用CCK创建了自己的商业目录,但我现在需要屏蔽电子邮件地址,因此垃圾邮件机器人无法读取这些地址。我还需要通过将其替换为图像来隐藏显示地址。
有没有可以做到这一点的模块?或者任何人都可以提供一些代码或示例或提出任何想法。
任何帮助都非常感激。
沙恩
答案 0 :(得分:5)
如果不必是图像,则可以使用SpamSpan模块,它会创建一个类似example [at] example [dot] com
的地址,由javascript替换为真实地址。
图像很烦人,因为您必须自己键入地址,而不能单击它。 javascript混淆在理论上是可以打败的,但很可能机器人不打扰。
答案 1 :(得分:2)
使用GD:
$img = imagecreate( 200, 80 );
$background = imagecolorallocate( $img, 0, 0, 255 );
$color = imagecolorallocate( $img, 255, 255, 0 );
imagestring( $img, 4, 30, 25, "myemailAddress@domain.com", $color );
header( "Content-type: image/png" );
imagepng( $img );
答案 2 :(得分:2)
感谢大家的意见......
我决定选择Fabian - Spamspan的大道,但做了一些改动,所以我也可以用图像替换(这只是用户界面的原因)。
所以我安装了Drupal模块SpamSpan - 然后我将这段代码添加到我的node.tpl.php
<?php
if ( $node->type == 'directory' ) {
// Has this page got a main image?
$emailAdd = $node->field_email[0]['value'];
if (strlen($emailAdd) > 0)
{
$arrEmail = explode("@", $emailAdd);
$emailAdd = '<span class="spamspan">
<span class="u">'.$arrEmail[0].'</span>
[at]
<span class="d">' . str_replace(".","[dot]",$arrEmail[1] ) . '</span></span>';
print $emailAdd;
}
}
?>
然后在spamspan.compressed.js中添加了通过用.html('<img src="' + Drupal.settings.basePath + 'themes/zen/zen-internals/images/btnContactBus.gif">')
替换.html函数来显示图像的功能
希望这有助于其他人 - 再次感谢你们帮助我。
沙恩
答案 3 :(得分:0)
如果你这样做(图片中的地址),请使用不常见的字体,很多刮刀使用OCR(文本识别)并在图片中查找电子邮件地址。
阻止刮刀的另一种方法是使用2张图像,一张叠在另一张上,首先是第1张,第3张,第5张,第二张是剩下的。这样你就没有一张带有完整地址的图片。