小编Bur*_*dog的帖子

如何解决 Google v3 reCaptcha 超时?

我们有一个 PHP 表单,它在 reCaptcha 上有几个选项卡和超时。一切都在一页中完成,如果表格在 <3 分钟内完成,它就可以正常工作。

一个解决方案的想法是将表单处理和 reCaptcha 移动到辅助页面进行处理。

问题是表单页面轮询谷歌服务以获取 reCaptcha 并将令牌值收集到隐藏字段。

<input type="hidden" name="recaptcha_response" id="recaptchaResponse">
Run Code Online (Sandbox Code Playgroud)

问题是如何在服务端处理页面请求这个token?这是客户端表单页面上使用的代码。我需要以某种方式重新生成要应用的令牌值:

$recaptcha_response

这是表单页面上的工作版本。从表单页面删除对发布令牌的要求很容易,只是不确定如何重新生成令牌以在服务器端页面上使用。

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['recaptcha_response'])) {

// Build POST request:
$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
$recaptcha_secret = RECAPTCHA_SECRET_KEY;
$recaptcha_response = $_POST['recaptcha_response'];
$remoteip = $_SERVER['REMOTE_ADDR'];

// Make and decode POST request:
$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response. '&remoteip='.$remoteip);
$recaptcha = json_decode($recaptcha);

// Take action based on the score returned:
if ($recaptcha->score >= 0.5) {
Run Code Online (Sandbox Code Playgroud)

编辑添加:将重新验证码的初始化直到提交延迟计时问题,因为这似乎是一个选项:

https://developers.google.com/recaptcha/docs/v3

“2. …

php invisible-recaptcha recaptcha-v3

11
推荐指数
2
解决办法
2万
查看次数

如何迭代作为SimpleXMLElement对象的XML值

我有一个XML流解析为SimpleXMLElement对象,我试图迭代可用的记录,用作PHP页面中的值.

[listing]的父节点当前存在两次,因为测试XML中有两条记录(列出[0]和列表[1])但是我不能让它像PHP中的"Basic SimpleXML用法"所示那样工作手册

    <?php
    $xml = simplexml_load_file('http://feed.postlets.com/Burndog/6458ec1af54f632');
Run Code Online (Sandbox Code Playgroud)

这可以提供第一个列表标题元素值:

    $value1 = $xml->listing[0]->title;
    echo ' here:' . $value1;
Run Code Online (Sandbox Code Playgroud)

这无法遍历可用值:

    foreach ($xml->listing->title as $title) {
    echo $title;
    }
    ?>
Run Code Online (Sandbox Code Playgroud)

print_r中的值:

SimpleXMLElement Object
(
[listing] => Array
    (
        [0] => SimpleXMLElement Object
            (
                [url] => http://www.postlets.com/repb/6509636
                [title] => 3BR/2BA Manufactured - Beaumont
                [subtitle] => SimpleXMLElement Object
                    (
                    )

                [description] => SimpleXMLElement Object
                    (
                    )

                [location] => SimpleXMLElement Object
                    (
                        [street] => 1415 E 6th St
                        [city] => Beaumont
                        [zipcode] => 92223
                        [state] => CA …
Run Code Online (Sandbox Code Playgroud)

php xml simplexml

2
推荐指数
1
解决办法
1万
查看次数

检查$ _GET是否可用且具有特定值?

我正在尝试检查$ _GET值是否可用且等于1,但错误是索引未定义.

<?php if ((isset($_GET['success'])) ||  ($_GET['success'] == 1)) { ?>
Do Something
<?php } ?>
Run Code Online (Sandbox Code Playgroud)

为什么这是个问题?我正在检查它是否存在然后是否等于一个,如果是,则做一些事情.

有没有更好的方法来实现这一目标?

php conditional

1
推荐指数
1
解决办法
113
查看次数

如何在MySQL SUM子查询中创建可用的别名

在以下MySQL查询中,我能够生成Sum值,但无法分配可用于在PHP页面中回显的值.

SELECT
    invoices.InvoiceNo AS Invoice,
    invoices.invDate AS DATE,
    invoices.invValue AS Amount,
    (
        SELECT SUM(invoices.invValue) AS GrandTotal
        FROM invoices
        WHERE invoices.fKey = 186 AND inv_openClosed = 0
    )
FROM invoices
WHERE invoices.fKey = 186 AND inv_openClosed = 0
ORDER BY Invoice DESC
Run Code Online (Sandbox Code Playgroud)

测试显示结果但"GrandTotal"的别名不起作用.并且MySQL没有错误来寻求解决方案.

以下是查询的结果: 在此输入图像描述

mysql sql

1
推荐指数
1
解决办法
103
查看次数