在recaptcha中清理并验证$ _POST ['g-recaptcha-response']

时间:2015-12-14 08:48:53

标签: php recaptcha input-sanitization

如何在recaptcha中清理和验证$_POST['g-recaptcha-response']

https://github.com/google/recaptcha/blob/master/examples/example-captcha.php#L72

看起来它提供了一长串字母数字字符_- 那么使用strip_tags()进行清理并检查它是否只有字母数字字符,_-来验证是否足够?

1 个答案:

答案 0 :(得分:1)

您可以使用strip_tags,但这不会确保没有其他字符发送,例如@, #, ...。一种解决方案是使用preg_match来验证您收到的字符串:

if (!preg_match('/^[\w-]*$/', $_POST['g-recaptcha-response'])) {
    echo 'invalid captcha';
}