文章内容
2020/1/13 20:34:14,作 者: 黄兵
使用google recaptcha验证输入
在python中,使用django框架google recaptcha后端验证的具体方法:
import requests from django.conf import settings def get_client_ip(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') return ip def grecaptcha_verify(request): if request.method == 'POST': response = {} data = request.POST captcha_rs = data.get('g-recaptcha-response') url = "https://www.google.com/recaptcha/api/siteverify" params = { 'secret': settings.RECAPTCHA_SECRET_KEY, 'response': captcha_rs, 'remoteip': get_client_ip(request) } verify_rs = requests.get(url, params=params, verify=True) verify_rs = verify_rs.json() response["status"] = verify_rs.get("success", False) response['message'] = verify_rs.get('error-codes', None) or "Unspecified error." return HttpResponse(response)
在国内可用google recaptcha的两个网址是:
http://recaptcha.google.cn/
同时通过https也是没有问题的。
评论列表