nodejs - 如何使用node-captcha模块?

时间:2012-02-28 18:47:16

标签: node.js captcha

我已经从以下链接安装了node-captcha nodejs模块......

https://github.com/napa3um/node-captcha

网站上的例子如下......

...
var captcha = require('captcha');
...
app.configure(function(){
...
    app.use(app.router);
    app.use(captcha('/captcha.jpg')); // url for captcha jpeg
    app.use(express.static(__dirname + '/public'));
...

app对象用于express,但我没有使用express。

我一直试图通过在“http.createServer”函数中调用“captcha('/ captcha.jpg')”来获取验证码,但一切都没有发生。

我对如何使用这个模块感到很困惑。

1 个答案:

答案 0 :(得分:3)

管理编写使用该模块的脚本。

req.session.captcha = text 也应该在模块的 captcha.js 文件中注释掉,否则会引发错误。注释掉该代码确实意味着它应该替换为将验证码文本存储到会话的行。

var http = require('http'), url = require('url'), captcha = require('captcha');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});

    var path = url.parse(req.url).pathname;
    switch (path) {
    case '/':
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write('<img src="/captcha.jpg" />');
        res.end();
        break;
    case '/captcha.jpg':
        captcha('/captcha.jpg')(req, res, 'noCaptcha');
        break;
}
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');

noCaptcha = function() {
    console.log('No captcha available');
};