當前位置: 首頁> 最新文章列表> 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接口免受非法請求和攻擊。