You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现Sony Aibo ERS-1000 Endpoint校验接口方案咨询

索尼ERS-1000机器狗Webhook端点校验失败修复方案

你现有代码有三个致命问题,是导致校验不通过的核心原因:

  • 你直接echo($post)的写法完全无法返回正确内容:$post是json_decode解析得到的PHP关联数组,PHP中直接echo数组只会输出固定字符串Array,根本不可能返回你说的{"challenge":"1324111"}结构,你本地Postman测试结果和实际运行逻辑不一致,大概率是测试时缓存了旧版本代码、或者请求模拟逻辑有误。
  • 索尼ERS-1000的端点校验规则不需要返回JSON格式的challenge结构,只需要在响应体中返回纯文本的challenge字段原值,不能包裹任何JSON结构、HTML标签、多余空格或调试内容。
  • 你没有设置正确的响应头,也没有排除重定向、证书、多余输出的干扰,索尼的校验请求不会跟随301/302跳转,对响应格式、证书合法性要求非常严格。

正确实现代码

把你的index.php文件替换为以下内容,注意文件末尾不要加PHP闭合标签?>,避免文件末尾的多余空行被输出:

<?php
// 强制设置200状态码,设置纯文本响应头,禁止错误信息输出干扰响应
http_response_code(200);
header('Content-Type: text/plain; charset=utf-8');
ini_set('display_errors', 0);

// 读取原始请求体
$rawInput = file_get_contents('php://input');
$payload = json_decode($rawInput, true);

// 校验challenge参数存在后直接输出原值,不做任何修改、不添加任何其他内容
if (isset($payload['challenge'])) {
    exit(trim($payload['challenge']));
}

// 非校验请求的其他业务逻辑可以写在后面
exit;

额外排查项

如果改完代码还是校验失败,逐一排查以下问题:

  • 确认你填写的端点https://xxxserver.com/aibo/可以直接返回200响应,不存在301/302跳转(包括http转https、非www转www、末尾斜杠补全类的跳转),索尼校验客户端不会处理重定向响应。
  • 确认你的HTTPS证书是公开受信任的CA签发,不支持自签名证书,TLS协议版本至少为1.2,禁用过时的SSLv3、TLS1.0/1.1协议。
  • 临时关闭站点的WAF、频率拦截、人机校验规则,避免索尼的校验请求被拦截。
  • 确认响应体总长度和challenge字符串长度完全一致,没有任何PHP报错、BOM头、前后置空格/换行等多余内容。

内容的提问来源于stack exchange,提问作者Eric Liango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 20:54:41