Guest User

Untitled

a guest
Jul 19th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.08 KB | None | 0 0
  1. [ { hostname: 'www.google.com',
  2. path: '/recaptcha/api/siteverify',
  3. method: 'POST',
  4. headers: { 'Content-Type': 'application/json', 'Content-Length': 556 } },
  5. '{"secret":"XXXUseThisForCommunicationBetweenYourSiteAndGoogleXXX","response":"03AHJ_VuusXdr5IdGpNzQPRjedGs-Le066Fx9r-Lk1gIfLqlzwxapPx70_LukmcOsw3x-m2DSfpvQVylx060H9IjFP82fy7505_t_rjSivauiwBUyQPrBMp5kTRviq_DD1L2mVMTTrBieUMlQM69AIuG3KwmdOQMyMJS2iJdRuRNnvAmDlPSejkASR4X-7c4IIP3NoMb52Qsl9QPeU6kGaPtxqmf1IpNwbSC3bzLXQD-QV1aI4GgaeqSPfOO8EPfISJMQ5kbCd9wqAwHqDAXMtNSvz10Ty30R71HqmsSk7YHddFQhei1L6y9j7nxnY5QtAxHehhpYwJVNjI96hxeIaG58_CQHGbAufy4aPGAlf-zJ6be_Xtdzd4AnHxiX9OuCKQI8eQlh6DZLGaymxXDmPNu4TijGyyu0VeTPTTKf12zVUg86_0ZmszWZDtALjnNnxBH7bZqrgWXhy","remoteip":"00.00.000.000"}' ]
  6.  
  7. { success: false, 'error-codes': [ 'missing-input-response', 'missing-input-secret'] }
  8.  
  9. {'_':'_','secret':'XXXXXX','response':'whateverXXYsgTSG','remoteip':'00.00.000.000'}
  10.  
  11. [ { hostname: 'www.google.com',
  12. path: '/recaptcha/api/siteverify?',
  13. method: 'POST',
  14. headers:
  15. { 'Content-Type': 'application/x-www-form-urlencoded',
  16. 'Content-Length': 548 } },
  17. '"_=_&secret=XXXXXX&response=03AHJ_VuurQFgsftybLlvrdGOwXfNneWp4v7FPJJbOD9CGpiHAkFBaiNy7YWXcHrAkU6SPU5UZpgKCptU3gRX5OPqXEh2qqP3nXJpiBWoxFW_Iv05P2UA23rzzZk0ecScmMSL1PP1uyBCdJ08HpAWEuz2PzL6m6u71k09xQbVbPZ5KT6qnb-mdPNyEkdBxtc9a5oYpnOoHg7ax6q4Ms4Lis4qrNBLCavKmYZ6vAmYitSEI0a0GERnlI3wLSvayhc-Yygv1koKIjg2q8GHXV1UhKLzBa8t8x2ibRBNwXUMBFs3Qj_lfwgiTNtIaU3kEAFPULJulZDOsAcovKpjk5xkyMM2C5YDGYMioeyOMl9ZmyyvkwfrrRe8e9o_tD6SaTTSAcrcxsfYGm-w0_CDbsa2IWSkjiMN-2B9SClOZJGXXVXVIuIYClIK3XuUvTsObCzxJAq2IKwwMTtYX&remoteip=00.00.000.000"' ]
  18. [ { success: true }, 200, undefined ]
  19.  
  20. var JSON={
  21. https:require('https')
  22. , toquery:require('../node_modules/querystring').stringify
  23. , stringify:require('../node_modules/json-stringify-safe')
  24. , parse:require('../node_modules/try-json-parse')
  25. , get:function(url,callback){process.env.NODE_TLS_REJECT_UNAUTHORIZED="0";var req=JSON.https.request(url,function(res){var buffer='';res.setEncoding('utf8');res.on('data',function(chunk){buffer+=chunk;});res.on('end',function(){try{var data=JSON.parse(buffer);callback(data,res.statusCode);}catch(e){console.log(e);}});});req.end();}
  26. , post:function(url,path,data,type,callback){if(!callback){callback=type;type=undefined;}data=JSON.stringify(data);var options={hostname:url,path:path,method:'POST',headers:{'Content-Type':type||'application/json','Content-Length':data.length}};console.dir([options,data]);var req=JSON.https.request(options,function(res){var buffer='';res.setEncoding('utf8');res.on('data',function(chunk){buffer+=chunk;});res.on('end',function(){try{var data=JSON.parse(buffer);callback(data,res.statusCode);}catch(e){console.log(e);}});});req.write(data);req.end();}
  27. };
  28.  
  29. JSON.post(
  30. 'www.google.com'
  31. , '/recaptcha/api/siteverify?'
  32. , JSON.toquery({'_':'_','secret':'XXXX','response':response,'remoteip':remoteip})
  33. , 'application/x-www-form-urlencoded'
  34. , function(data,result,statusCode){
  35. console.dir([data,result,statusCode]);
  36. if(result.success){}
  37. else{}
  38. });
  39.  
  40. var request = require("superagent");
  41.  
  42. var config = {
  43. recaptcha: {
  44. secret: "XXXXX",
  45. url: "https://www.google.com/recaptcha/api/siteverify",
  46. },
  47. };
  48.  
  49. var ERROR_CODES = {
  50. "missing-input-secret": "Unexpected Server Error (1)",
  51. "invalid-input-secret": "Unexpected Server Error (2)",
  52. "missing-input-response": "Missing reCAPTCHA value",
  53. "invalid-input-response": "Invalid reCATPCHA value",
  54. };
  55.  
  56. exports.getErrorCode = function (errorCode) {
  57. if (Array.isArray(errorCode)) {
  58. var errors = errorCode.map(function (code) {
  59. return exports.getErrorCode(code);
  60. });
  61. return errors.join("n");
  62. }
  63. return ERROR_CODES[errorCode] ||
  64. (errorCode ? ("Unexpected reCAPTCHA error: " + errorCode) : "Unexpected reCAPTCHA error");
  65. };
  66.  
  67. exports.parseResponse = function (err, res) {
  68. if (err) {
  69. return { success: false, error: err };
  70. } else if (!res.body.success) {
  71. var error = new Error(exports.getErrorCode(res.body["error-codes"]));
  72. return { success: false, error: error };
  73. } else {
  74. return { success: true };
  75. }
  76. };
  77.  
  78. exports.verify = function (response, ip) {
  79. if (process.env.NODE_ENV === "test") {
  80. return response ? Promise.resolve() :
  81. Promise.reject(new Error("Test reCAPTCHA Error"));
  82. }
  83.  
  84. return new Promise (function (resolve, reject) {
  85. request.post(config.recaptcha.url)
  86. .type("form")
  87. .accept("json")
  88. .send({
  89. secret: config.recaptcha.secret,
  90. response: response,
  91. remoteip: ip,
  92. })
  93. .end(function (err, res) {
  94. var parsedRes = exports.parseResponse(err, res);
  95. return parsedRes.success ? resolve() : reject(parsedRes.error);
  96. });
  97. });
  98. };
  99.  
  100. var captchaHelper = require('./recaptcha-helper');
  101.  
  102. captchaHelper.verify(req.body.captcha, req.ip)
  103. .then(function () {
  104. // on success
  105. }).catch(function (err {
  106. // on error
  107. });
  108.  
  109. axios.post("https://www.google.com/recaptcha/api/siteverify?secret="
  110. + 'XXXXXX' + "&response=" + response + "&remoteip=" + req.connection.remoteAddress);
Add Comment
Please, Sign In to add comment