"ロボット" & "Spammer" Auto-Regsを避けるために、私はcURLとGoogle reCaptcha2にいくつかの問題があります。PHP cURL Google reCaptcha2ヘッダインジェクション
だから私はWWWサイト上のユーザーを確認するgoogle'sreCaptcha2を選んだ。
問題:
コードをチェックした後、私は Header Injection in 'curl_setopt_array' via '$curlConfig'
私のサーバーサイドreCAPTCHAのが原因PHPコンフィグによってブロックPHP File getContent
のカールを使用してありました。
マイreCAPTCHAのコード:
if (isset($_POST['g-recaptcha-response'])) {
$captcha = $_POST['g-recaptcha-response'];
$privatekey = '######### Priv Key ###############';
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
'secret' => $privatekey,
'response' => $captcha,
'remoteip' => $_SERVER['REMOTE_ADDR']
);
$curlConfig = array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $data
);
$ch = curl_init();
curl_setopt_array($ch, $curlConfig);
$response = curl_exec($ch);
curl_close($ch);}
ので、結果として、我々は戻っJSON文字列からのデータをデコード:
$jsonResponse = json_decode($response);
if ($jsonResponse->success == "true") { Good } else { Exit not good! }
注入?データ=配列? $サーブ?ヘルプ
のようにしてください。そうでない場合は、単にisset captchaを使用してください。{error msg blabla} – VBnoob