1

我如何$_POST['g-recaptcha-response']在 recaptcha 中进行消毒和验证

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

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

4

1 回答 1

1

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

if (!preg_match('/^[\w-]*$/', $_POST['g-recaptcha-response'])) {
    echo 'invalid captcha';
}
于 2015-12-14T09:00:02.727 回答