Authored by 陈峰

图片验证码日志

@@ -14,6 +14,7 @@ const service = require('../models/back-service'); @@ -14,6 +14,7 @@ const service = require('../models/back-service');
14 const captchaService = require('../models/captcha-service'); 14 const captchaService = require('../models/captcha-service');
15 15
16 const SIGN_IN = helpers.urlFormat('/passport/login'); 16 const SIGN_IN = helpers.urlFormat('/passport/login');
  17 +const logger = global.yoho.logger;
17 18
18 /** 19 /**
19 * 通过邮箱找回密码页面 20 * 通过邮箱找回密码页面
@@ -210,6 +211,7 @@ const sendCodeToMobileAPI = (req, res, next) => { @@ -210,6 +211,7 @@ const sendCodeToMobileAPI = (req, res, next) => {
210 if (verifyCode) { 211 if (verifyCode) {
211 let captcha = _.get(req, 'session.captcha'); 212 let captcha = _.get(req, 'session.captcha');
212 213
  214 + logger.info(`验证码校验结果:${verifyCode.toString() === captcha},user:${verifyCode};server:${captcha}`);
213 if ((captcha && verifyCode.toString() === captcha) || (testCode === config.testCode)) { 215 if ((captcha && verifyCode.toString() === captcha) || (testCode === config.testCode)) {
214 req.session.backupCaptch.verifyResult = true; 216 req.session.backupCaptch.verifyResult = true;
215 } else { 217 } else {
@@ -14,6 +14,7 @@ const AuthHelper = require('../models/auth-helper'); @@ -14,6 +14,7 @@ const AuthHelper = require('../models/auth-helper');
14 const _ = require('lodash'); 14 const _ = require('lodash');
15 const config = global.yoho.config; 15 const config = global.yoho.config;
16 const moment = require('moment'); 16 const moment = require('moment');
  17 +const logger = global.yoho.logger;
17 18
18 const Sources = { 19 const Sources = {
19 qq: 'QQ', 20 qq: 'QQ',
@@ -96,6 +97,7 @@ const bind = { @@ -96,6 +97,7 @@ const bind = {
96 if (verify) { 97 if (verify) {
97 let captcha = _.get(req, 'session.captcha'); 98 let captcha = _.get(req, 'session.captcha');
98 99
  100 + logger.info(`验证码校验结果:${verify.toString() === captcha},user:${verify};server:${captcha}`);
99 if ((captcha && verify.toString() === captcha) || (testCode === config.testCode)) { 101 if ((captcha && verify.toString() === captcha) || (testCode === config.testCode)) {
100 BindService.bindCheck(phoneNum, openId, sourceType, areaCode).then(result => { 102 BindService.bindCheck(phoneNum, openId, sourceType, areaCode).then(result => {
101 let data = { 103 let data = {
@@ -127,7 +129,7 @@ const bind = { @@ -127,7 +129,7 @@ const bind = {
127 } else { 129 } else {
128 let jsonData = { 130 let jsonData = {
129 code: 400, 131 code: 400,
130 - message: '请将图片旋转到正确位置' 132 + message: '请将图片旋转到正确方向'
131 }; 133 };
132 134
133 if (req.session.captchaValidCount === 0) { 135 if (req.session.captchaValidCount === 0) {
@@ -29,9 +29,17 @@ exports.get = (req, res, next) => { @@ -29,9 +29,17 @@ exports.get = (req, res, next) => {
29 29
30 30
31 exports.imgCheck = (req, res, next) => { 31 exports.imgCheck = (req, res, next) => {
32 - if (req.session.captchaSrc) {  
33 - return request(`${req.session.captchaSrc}?imageView2/0/format/jpg/q/70|watermark/2/text/${uuid.v4()}/fontsize/120/dissolve/10`)  
34 - .pipe(res);  
35 - }  
36 - return next(); 32 + return imgCheckAPI.gen().then(result => {
  33 + if (result.code === 200 && result.data) {
  34 + let codeStr = result.data.degrees.reduce((str, rotate) => {
  35 + return str.concat((4 - rotate / 90 % 4) % 4);
  36 + }, '');
  37 +
  38 + req.session.captcha = codeStr;
  39 + req.session.captchaSrc = result.data.verifiedGraphicCode;
  40 +
  41 + return request(`${result.data.verifiedGraphicCode}?imageView2/0/format/jpg/q/70|watermark/2/text/${uuid.v4()}/fontsize/120/dissolve/10`).pipe(res);
  42 + }
  43 + next();
  44 + }).catch(next);
37 }; 45 };
@@ -17,6 +17,7 @@ const config = global.yoho.config; @@ -17,6 +17,7 @@ const config = global.yoho.config;
17 const utils = require(global.utils); 17 const utils = require(global.utils);
18 const RegService = require('../models/reg-service'); 18 const RegService = require('../models/reg-service');
19 const AuthHelper = require('../models/auth-helper'); 19 const AuthHelper = require('../models/auth-helper');
  20 +const logger = global.yoho.logger;
20 21
21 const loginPage = `${config.siteUrl}/passport/login`; 22 const loginPage = `${config.siteUrl}/passport/login`;
22 23
@@ -200,6 +201,8 @@ const local = { @@ -200,6 +201,8 @@ const local = {
200 captchaShow: true 201 captchaShow: true
201 }; 202 };
202 203
  204 + logger.info(`验证码校验结果:${captchaInput.toString() === captchaCode},user:${captchaInput};server:${captchaCode}`);
  205 +
203 --req.session.captchaValidCount; 206 --req.session.captchaValidCount;
204 207
205 if (!errorCount) { 208 if (!errorCount) {
@@ -14,6 +14,7 @@ const helpers = global.yoho.helpers; @@ -14,6 +14,7 @@ const helpers = global.yoho.helpers;
14 const sign = global.yoho.sign; 14 const sign = global.yoho.sign;
15 const cookie = global.yoho.cookie; 15 const cookie = global.yoho.cookie;
16 const config = global.yoho.config; 16 const config = global.yoho.config;
  17 +const logger = global.yoho.logger;
17 const RegService = require('../models/reg-service'); 18 const RegService = require('../models/reg-service');
18 const AuthHelper = require('../models/auth-helper'); 19 const AuthHelper = require('../models/auth-helper');
19 const captchaService = require('../models/captcha-service'); 20 const captchaService = require('../models/captcha-service');
@@ -141,6 +142,7 @@ let verifyMobile = (req, res, next) => { @@ -141,6 +142,7 @@ let verifyMobile = (req, res, next) => {
141 req.session.captcha = null; 142 req.session.captcha = null;
142 data.changeCaptcha = true; 143 data.changeCaptcha = true;
143 } 144 }
  145 + logger.info(`验证码校验结果:${captcha.toString() === diffCaptcha},user:${captcha};server:${diffCaptcha}`);
144 146
145 // error case: 验证码不匹配 147 // error case: 验证码不匹配
146 if (!(captcha === diffCaptcha || testCode === config.testCode)) { 148 if (!(captcha === diffCaptcha || testCode === config.testCode)) {
@@ -10,6 +10,7 @@ const utils = require(global.utils); @@ -10,6 +10,7 @@ const utils = require(global.utils);
10 const RegService = require('../models/reg-service'); 10 const RegService = require('../models/reg-service');
11 const PhoneService = require('../models/phone-service'); 11 const PhoneService = require('../models/phone-service');
12 const AuthHelper = require('../models/auth-helper'); 12 const AuthHelper = require('../models/auth-helper');
  13 +const logger = global.yoho.logger;
13 14
14 // constrant 15 // constrant
15 const CODE_REQUIRED = '请输入校验码'; 16 const CODE_REQUIRED = '请输入校验码';
@@ -205,6 +206,7 @@ exports.indexCheck = (req, res, next) => { @@ -205,6 +206,7 @@ exports.indexCheck = (req, res, next) => {
205 } 206 }
206 207
207 208
  209 + logger.info(`验证码校验结果:${captcode.toString() === captcodeValid},user:${captcode};server:${captcodeValid}`);
208 // 验证 210 // 验证
209 if ([area, mobile].some(val => val === '')) { 211 if ([area, mobile].some(val => val === '')) {
210 return em.emit('reject', Object.assign(errorData, { message: '请填写手机号'})); 212 return em.emit('reject', Object.assign(errorData, { message: '请填写手机号'}));
@@ -215,7 +217,7 @@ exports.indexCheck = (req, res, next) => { @@ -215,7 +217,7 @@ exports.indexCheck = (req, res, next) => {
215 (captcodeValid && captcode === captcodeValid) || (testCode === config.testCode) 217 (captcodeValid && captcode === captcodeValid) || (testCode === config.testCode)
216 ) 218 )
217 ) { 219 ) {
218 - return em.emit('reject', Object.assign(errorData, {message: '请将图片旋转到正确位置'})); 220 + return em.emit('reject', Object.assign(errorData, {message: '请将图片旋转到正确方向'}));
219 } 221 }
220 222
221 // congratulation~~ 223 // congratulation~~
@@ -74,7 +74,7 @@ $btnNext.on('touchstart', function() { @@ -74,7 +74,7 @@ $btnNext.on('touchstart', function() {
74 captcha = imgCheck.getResults(); 74 captcha = imgCheck.getResults();
75 75
76 if (captcha === '0000') { 76 if (captcha === '0000') {
77 - tip.show('请将图片旋转到正确位置'); 77 + tip.show('请将图片旋转到正确方向');
78 return false; 78 return false;
79 } 79 }
80 80
@@ -121,7 +121,7 @@ page = { @@ -121,7 +121,7 @@ page = {
121 } 121 }
122 122
123 // if (captcha === '0000') { 123 // if (captcha === '0000') {
124 - // tip.show('请将图片旋转到正确位置'); 124 + // tip.show('请将图片旋转到正确方向');
125 // return; 125 // return;
126 // } 126 // }
127 127
@@ -84,10 +84,8 @@ ImgCheck.prototype = { @@ -84,10 +84,8 @@ ImgCheck.prototype = {
84 this.picWidth = this.useREM.picWidth / this.useREM.rootFontSize; 84 this.picWidth = this.useREM.picWidth / this.useREM.rootFontSize;
85 } 85 }
86 86
87 - this.refresh().done(function() {  
88 - self.bindEvents();  
89 - });  
90 - 87 + this.refresh();
  88 + self.bindEvents();
91 this.atWorking = true; 89 this.atWorking = true;
92 }, 90 },
93 91
@@ -150,17 +148,8 @@ ImgCheck.prototype = { @@ -150,17 +148,8 @@ ImgCheck.prototype = {
150 */ 148 */
151 refresh: function() { 149 refresh: function() {
152 const self = this; 150 const self = this;
153 - let uri = this.refreshURI + '?' + Date.now();  
154 -  
155 - return $.get(uri)  
156 - .done(function(data) {  
157 - let src = data.src;  
158 151
159 - self.render({  
160 - imgSrc: src  
161 - });  
162 - })  
163 - .fail($.noop); 152 + self.render({imgSrc: `/passport/img-check.jpg?t=${Date.now()}`});
164 }, 153 },
165 154
166 155