最近Guestbook上广告回复特别多,终于下狠心来解决这个问题,最后发现的原因——居然是忘了在 Guestbook 上开启Captcha……不过期间发现点别的东西,至少还没白白花费这么多力气。
EE的Captcha图片由程序直接生成,后台也没有相关的设置。不能调节它的大小颜色是不是很不爽?在EE的根目录下找到 system/core/core.functions.php,参数就在这里了(大约1700行的位置):
$font_face = “texb.ttf”;<br />
$font_size = 16;<br />
<br />
$expiration = 60*60*2; // 2 hours<br />
<br />
$img_width = 150; // Image width<br />
$img_height = 30; // Image height
颜色则在另一处(1820行左右):
$bg_color = ImageColorAllocate($im, 255, 255, 255);<br />
$border_color = ImageColorAllocate($im, 153, 102, 102);<br />
$text_color = ImageColorAllocate($im, 204, 153, 153);<br />
$grid_color = imagecolorallocate($im, 255, 182, 182);<br />
$shadow_color = imagecolorallocate($im, 255, 240, 240);
或者你也可以使用官方的Extension Advanced Captcha 来进一步“稍许”增强Captcha的效果。不过那个随机生成的颜色真不是一般的难看……还是用默认的Captcha好了,反正Advanced Captcha 也没有提供额外的选项,要调整效果的话,还得动PHP。
除此之外,你还可以上传自己的TTF文件到 system/fonts/texb.ttf 覆盖掉默认的texb.ttf,更换个不大常见的字体,也能有效增强Captcha的防SPAM效果。