現在の位置: ホーム> 最新記事一覧> PHPはbaidu wenxin yiyan apiインターフェイスセキュリティ検証方法を実装しています

PHPはbaidu wenxin yiyan apiインターフェイスセキュリティ検証方法を実装しています

gitbox 2025-06-13

1。はじめに

Baidu Wenxin Yiyan APIは、有名な引用と詩の豊富なコンテンツを提供します。ただし、ネットワーク環境は不確実性に満ちており、インターフェイスのセキュリティを確保するために、リクエストの必要なセキュリティ検証を実行する必要があります。

2。セキュリティ検証

APIインターフェイスのセキュリティを確保するために、署名メカニズムは通常、リクエストが合法かどうかを検証するために使用されます。この関数を実装するための基本的なプロセスは次のとおりです。

1.すべての要求パラメーターを辞書の順序で並べ替えます。

2。「パラメーター名=パラメーター値」の形式でソートされたパラメーターをスプライスし、「&」シンボルに接続します。

3.スプライシング後に文字列の最後にアクセスキーシークレットを追加し、MD5計算を実行して署名(サイン)を生成します。

4.リクエストにパラメーターとして署名を追加します。

2.1カプセル化コード

PHPを使用して関数をカプセル化して、このセキュリティ検証ロジックを実装できます。以下は、「baidu_heart_words」の例の例です。ここで、「$ params」はリクエストパラメーターであり、「$ accesskey」と `$ accesskeysecret`は、それぞれインターフェイスのアクセスキーとアクセス秘密です。

 
/**
 * Baidu Wenxinの言葉 API
 *
 * @param array $params リクエストパラメーター
 * @param string $accessKey Access Key
 * @param string $accessKeySecret Access Secret
 *
 * @return string 1つの文に戻ります
 */
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使い方

このカプセル化された関数を使用する場合、リクエストパラメーターを渡すだけで、アクセスキー、およびアクセスシークレットを使用すると、関数はWebサイトに表示できるBaidu Wenxin Yiyan文字列を返します。これが例です:

 
$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": "lu xun",
        "content": "小麦畑の監視員——親愛なるクローザーさん。"
    }
}

3。概要

Baidu Wenxin Yiyan APIを使用する場合、インターフェイスセキュリティが重要であることを確認します。この記事で説明されている署名生成およびPHPカプセル化関数を使用すると、違法な要求や攻撃からAPIインターフェイスを効果的に保護できます。