Ich habe das Skript von here verwendet, um die Verifizierung durchzuführen.Ist es falsch, die Bestätigung von Google zu analysieren?
Die $result === FALSE
Bedingung wurde umgangen, unabhängig davon, dass ich auf die Re-Captcha-Validierung auf meinem Formular klickte.
Also beschloss ich, ihn manuell zu analysieren, wie so:
Die Rückkehr sieht wie folgt aus, wenn ein Fehler:
{
"success":false,
"error-codes":[
"missing-input-response"
]
}
Und wenn es Erfolg ist es ähnlich aussieht, aber einige zusätzliche Dinge gebunden sind, aber die I Hauptsache gezielt war die Zeichenfolge "success":true,
Mit diesem Teil des Skripts direkt unterhalb der $result
Variable:
$result_copy = $result;
// remove white spaces everywhere
$mod_res_copy = preg_replace('/\s+/', '', $result_copy);
$success_string = '"success":true';
if(strpos($mod_res_copy, $success_string) !== false) {
$status = "ok";
}else {
$status = "not-ok";
}
if ($status == "not-ok") {
echo "Please complete the captcha to prevent spam.";
exit;
}else {
// trigger database insert of comment or whatever
}
Was ich wissen will, ist das falsch? Kann das gefälscht werden? Ich verwende PHP als meine serverseitige Skriptsprache.