Rumah > Soal Jawab > teks badan
P粉2974349092023-08-28 12:23:43
Walaupun jawapan di sini pasti berkesan, mereka menggunakan GET
请求,这会暴露您的私钥(即使使用 https
). Pada Google Developers, kaedah yang dinyatakan ialah POST< /代码>
.
Untuk butiran lanjut: https://stackoverflow.com/a/323286/1680919
Disahkan melalui POST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function
isValid()
{
try
{
$url
=
'https://www.google.com/recaptcha/api/siteverify'
;
$data
= [
'secret'
=>
'[YOUR SECRET KEY]'
,
'response'
=>
$_POST
[
'g-recaptcha-response'
],
'remoteip'
=>
$_SERVER
[
'REMOTE_ADDR'
]];
$options
= [
'http'
=> [
'header'
=>
"Content-type: application/x-www-form-urlencoded\r\n"
,
'method'
=>
'POST'
,
'content'
=> http_build_query(
$data
)
]
];
$context
= stream_context_create(
$options
);
$result
=
file_get_contents
(
$url
, false,
$context
);
return
json_decode(
$result
)->success;
}
catch
(Exception
$e
) {
return
null;
}
}
Sintaks tatasusunan: Saya menggunakan sintaks tatasusunan "baharu" (
dan [
和 ]
[]
bukannya < /代码>array(..)
Nilai pulangantrue
;如果无效,则返回 false
;如果用户有效,则返回 null
如果发生错误。例如,您可以简单地通过编写 if (isValid()) { ... }
: Jika pengguna sah, fungsi ini mengembalikan
P粉2621135692023-08-28 10:59:16
Ini penyelesaiannya
index.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
verify.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
http://codeforgeek.com/2014/12/google-recaptcha-tutorial/