以前一直用的是老版本google自定义搜索,可自定义的功能很少。最近趁blog用twitter bootstrap重写时顺便将google自定义搜索功能也更新一把,网上的教程比较繁琐,自己折腾了一晚上,找到一个超简单集成的方法。
简单2步即可完成基本整合功能:
1. 通过Google Custom Search element网页自动生成基本的搜索代码。
2. 添加到网页中,做一些自定义修改,上传收工。
俺的整合代码(效果见右侧搜索功能):
<!-- Google Custom Search Element -->
<!-- 注意两个id:cse-search-form 和 cse-search-result -->
<!-- cse-search-form: 搜索框显示的地方 -->
<!-- cse-search-result: 搜索结果显示的地方 -->
<div id="cse-search-form" style="row-fluid"></div>
<div id="cse-search-result" style="row-fluid"></div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {
style: google.loader.themes.MINIMALIST
});
google.setOnLoadCallback(function () {
var cse = new google.search.CustomSearchControl();
var drawOpts = new google.search.DrawOptions();
drawOpts.setSearchFormRoot("cse-search-form");
cse.draw('cse-search-result', drawOpts);
}, true);
</script>
更多高级设置可以参考Custom Search Reference
最近被comment spam搞烦了!最开始的验证码是随机生成几个字符,加上一些随机颜色位置的像素点混淆下。被骚扰几天后,改为简单的算数运算验证码,继续被骚扰。Orz...
现在的验证码识别程序太强大了,自己写的验证码一下就被识别了。也罢,不跟你们玩了,这方面你们是专家。
这次用了Google reCAPTCHA,看看还是不是这么容易被识别。
// ------------------------------------------------
Google reCAPTCHA整合比较方便,提供了各类程序语言的类库直接调用。
前台展现验证码使用ajax调用进行整合比较容易,参见:
http://code.google.com/intl/zh-CN/apis/recaptcha/docs/display.html
后台可以使用相应的服务端语言类库进行验证码结果确认,参见:
http://code.google.com/intl/zh-CN/apis/recaptcha/docs/php.html
大致验证流程是:
1.前台调用ajax生成验证码。
2.将验证码提交到后台(form post, ajax post皆可)。
3.后台读取用户输入的验证码,去google服务器验证结果。
4.根据结果做出相应处理。