Mercurial > prosody-modules
comparison mod_register_web/mod_register_web.lua @ 1223:6617f5f79d68
mod_register_web: Always use HTTPS to connect to recaptcha's API (thanks hexa)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 20 Nov 2013 23:35:45 +0000 |
| parents | b9d149936764 |
| children | a3766d3baacb |
comparison
equal
deleted
inserted
replaced
| 1222:e3a766045ef6 | 1223:6617f5f79d68 |
|---|---|
| 2 local nodeprep = require "util.encodings".stringprep.nodeprep; | 2 local nodeprep = require "util.encodings".stringprep.nodeprep; |
| 3 | 3 |
| 4 function generate_captcha(display_options) | 4 function generate_captcha(display_options) |
| 5 return (([[ | 5 return (([[ |
| 6 <script type="text/javascript" | 6 <script type="text/javascript" |
| 7 src="http://www.google.com/recaptcha/api/challenge?k=$$recaptcha_public_key$$"> | 7 src="https://www.google.com/recaptcha/api/challenge?k=$$recaptcha_public_key$$"> |
| 8 </script> | 8 </script> |
| 9 <noscript> | 9 <noscript> |
| 10 <iframe src="http://www.google.com/recaptcha/api/noscript?k=$$recaptcha_public_key$$$$recaptcha_display_error$$" | 10 <iframe src="https://www.google.com/recaptcha/api/noscript?k=$$recaptcha_public_key$$$$recaptcha_display_error$$" |
| 11 height="300" width="500" frameborder="0"></iframe><br> | 11 height="300" width="500" frameborder="0"></iframe><br> |
| 12 <textarea name="recaptcha_challenge_field" rows="3" cols="40"> | 12 <textarea name="recaptcha_challenge_field" rows="3" cols="40"> |
| 13 </textarea> | 13 </textarea> |
| 14 <input type="hidden" name="recaptcha_response_field" | 14 <input type="hidden" name="recaptcha_response_field" |
| 15 value="manual_challenge"> | 15 value="manual_challenge"> |
| 75 end | 75 end |
| 76 | 76 |
| 77 function handle_form(event) | 77 function handle_form(event) |
| 78 local request, response = event.request, event.response; | 78 local request, response = event.request, event.response; |
| 79 local form = http.formdecode(request.body); | 79 local form = http.formdecode(request.body); |
| 80 http.request("http://www.google.com/recaptcha/api/verify", { | 80 http.request("https://www.google.com/recaptcha/api/verify", { |
| 81 body = http.formencode { | 81 body = http.formencode { |
| 82 privatekey = captcha_options.recaptcha_private_key; | 82 privatekey = captcha_options.recaptcha_private_key; |
| 83 remoteip = request.conn:ip(); | 83 remoteip = request.conn:ip(); |
| 84 challenge = form.recaptcha_challenge_field; | 84 challenge = form.recaptcha_challenge_field; |
| 85 response = form.recaptcha_response_field; | 85 response = form.recaptcha_response_field; |
