当前位置: 首页> 最新文章列表> PHP实现百度文心一言API接口安全验证方法

PHP实现百度文心一言API接口安全验证方法

gitbox 2025-06-13

1. 引言

百度文心一言API提供了丰富的名人名言和诗文内容,能够为网站增添文艺气息。然而,网络环境充满不确定性,为了确保接口的安全性,我们需要对请求进行必要的安全验证。

2. 安全验证

为了确保API接口的安全性,通常采用签名机制来验证请求是否合法。实现这一功能的基本流程如下:

1. 将所有请求参数按字典序排序;

2. 将排序后的参数按“参数名=参数值”的格式拼接,并以“&”符号连接;

3. 在拼接后的字符串末尾添加Access Key Secret并进行MD5计算,生成签名(sign);

4. 将签名作为参数加入请求中。

2.1 封装代码

我们可以使用PHP封装一个函数来实现这一安全验证逻辑,以下是一个示例函数 `baidu_heart_words`,其中 `$params` 为请求参数,`$accessKey` 和 `$accessKeySecret` 分别为接口的 Access Key 和 Access Secret。


/**
 * 百度文心一言 API
 *
 * @param array $params 请求参数
 * @param string $accessKey Access Key
 * @param string $accessKeySecret Access Secret
 *
 * @return string 返回一句话
 */
function baidu_heart_words($params, $accessKey, $accessKeySecret)
{
    // 参数名的字典序排序
    ksort($params);
$query = http_build_query($params);

// 拼接accessKeySecret
$query .= $accessKeySecret;

// 计算md5值
$sign = md5($query);

// 将签名添加到请求参数中
$params['sign'] = $sign;

// 发送请求
$uri = 'https://api.xiaohuwei.cn/baidu_heart_words?' . http_build_query($params);
return file_get_contents($uri);

}

2.2 使用方法

使用这个封装好的函数时,只需传入请求参数、Access Key 和 Access Secret,函数将返回一个百度文心一言的字符串,您可以将其展示在您的网站上。以下是一个示例:


$params = [
    'type' => '3',  // 名人名言
    'c' => 'this-is-test',
    'f' => 'json',
    'temperature' => '0.6',
];
<p>$baidu_heart_words = baidu_heart_words($params, 'accessKey', 'accessKeySecret');<br>
echo $baidu_heart_words;<br>

以上代码将返回一个JSON格式的字符串,例如:


{
    "errno": 0,
    "errmsg": "success",
    "data": {
        "id": "Dw3uaPUfoH",
        "source": "四川",
        "author": "鲁迅",
        "content": "麦田里的守望者——亲爱的克劳硕先生。"
    }
}

3. 总结

在使用百度文心一言API时,确保接口安全是至关重要的。通过本文所述的签名生成和PHP封装函数,您可以有效地保护API接口免受非法请求和攻击。