想当初6.cn用一种开放的心态看待互联网,希望大家在一种友好、整洁的环境下共同发展,也希望让用户用起来更简单方便,一直不在任何地方提供“常见”的验证码,从去年开始,频繁开始受到各种恶意的攻击和注册,于是迫不得已加入第一个版本的验证码图片,那是一个简单、易辨认的图片
昨天6.cn的验证码被攻破,于是迫不得以,又对验证码进行了升级,这次仍然首先考虑的是用户体验,让用户更容易辨认,想想google、qq等网站的验证码,真的是大多数时间我都是靠猜的,别说机器辨认了,人都很难,这次6.cn的验证码图片加入了更多干扰元素,背景颜色和干扰的曲线都是随机产生的,但总的来说还是比较好辨认 (实在看不清,可以刷新页面更新)
互联网就是这样,没有什么干净的东西可以独善其身。
Micheal大哥,把源代码放出来吧!
[Comment ID #28259 Will Be Quoted Here]
哈哈,这个违背商业道德,也可能会导致不安全。
如果有需要,可以单独和我沟通一下相关的一些技巧。
他们攻破了来干什么?
PS:单独做一个版本给大家就可以了嘛……
我只做过第一个验证码,第二个还没搞过。网站太下,别人都懒得攻击
太多的不安全…
呵呵 的确是 如果算法公布的话 很容易攻破 这不同于夸张的MD5
我们需要的是必须可逆
当然这些算法写起来应该不会太复杂
而且网络上现在的这样的事情越来越夸张
对于小型的站点一般不是很重要
但是对大型网站 大家看中的是访问量缩带来的人气
BTW:谢谢昨晚的指点
客气了 🙂
Micheal大哥,想请教一个关于站内搜索的技术,不知道6.cn使用的是什么站内搜索技术。我想做一个以站内搜索为主的网站,但是如果直接使用PHP搜Mysql的话肯定性能不好,最近发现一个叫Sphinx的搜索引擎,但是据说对中文支持的不是很好,望Micheal大哥给予指点。谢谢!
[Comment ID #28362 Will Be Quoted Here]
搜索,肯定是不能用数据库,你这一点说得很对。
通常的站内搜索,都是采用开源的lucene来实现,目前有java、c等版本的lucene,但是从我的经验来看,还是java版的更稳定可靠,而且相关的分词组件也容易找到,所以建议你使用lucene。
详细的技术细节,需要自己多查资料了,简单的来说,就是自己搭建一个类似tomcat或者resin的java web环境,然后运行lucene在后端创建索引(从数据库读取),写一些jsp的代码,从lucen里面检索,把结果缓存后返回给你的前端别的应用程序。
Sphinx 我也是前一段时间才得知,据一个朋友说貌似还不错,但是我没有真正测试过,你可以看看这里的一些参考资料:
http://www.sphinxsearch.com/wiki/doku.php?id=sphinx_chinese_tutorial
还有我朋友的blog:http://blog.phpexp.cn/themes/309
其实没有必要为了防破解而搞得所有的用户都不舒服。既然知道了A方案被破解了就换一个B方案好了,等B方案也被破解了再换C方案。破解是需要时间和成本的,只要能很快的检测出被破解的行为来,肯定比把所有的用户都当“坏人”要好的多。