Position actuelle: Accueil> Derniers articles> PHP implémente Baidu Wenxin Yiyan API INTERFACE Sécurité Méthode

PHP implémente Baidu Wenxin Yiyan API INTERFACE Sécurité Méthode

gitbox 2025-06-13

1. Introduction

L'API Baidu Wenxin Yiyan fournit un contenu riche de citations et de poésie célèbres, qui peuvent ajouter une atmosphère littéraire et artistique au site Web. Cependant, l'environnement du réseau est plein d'incertitude et afin d'assurer la sécurité de l'interface, nous devons effectuer la vérification de sécurité nécessaire de la demande.

2. Vérification de la sécurité

Pour garantir la sécurité de l'interface API, un mécanisme de signature est généralement utilisé pour vérifier si la demande est légale. Le processus de base pour implémenter cette fonction est le suivant:

1. Trier tous les paramètres de demande dans l'ordre du dictionnaire;

2. Splice les paramètres triés dans le format de "Nom du paramètre = valeur du paramètre" et connectez-les avec le symbole "&";

3. Ajouter un secret d'accès à la fin de la chaîne après l'épissage et effectuer des calculs MD5 pour générer une signature (signe);

4. Ajoutez la signature en tant que paramètre à la demande.

2.1 Code d'encapsulation

Nous pouvons utiliser PHP pour encapsuler une fonction pour implémenter cette logique de vérification de sécurité. Ce qui suit est un exemple de fonction `baidu_heart_words`, où` $ params` est le paramètre de demande, et `$ AccessKey` et` $ AccessKeySecret` sont la clé d'accès et le secret d'accès de l'interface, respectivement.

 
/**
 * Les paroles de Baidu Wenxin API
 *
 * @param array $params Demander des paramètres
 * @param string $accessKey Access Key
 * @param string $accessKeySecret Access Secret
 *
 * @return string Retour à une phrase
 */
function baidu_heart_words($params, $accessKey, $accessKeySecret)
{
    // Tri dictionnaire des noms de paramètres
    ksort($params);
$query = http_build_query($params);

// ÉpissageaccessKeySecret
$query .= $accessKeySecret;

// calculermd5valeur
$sign = md5($query);

// 将签名添加到Demander des paramètres中
$params['sign'] = $sign;

// Envoyer une demande
$uri = 'https://api.xiaohuwei.cn/baidu_heart_words?' . http_build_query($params);
return file_get_contents($uri);

}

2.2 Comment utiliser

Lorsque vous utilisez cette fonction encapsulée, passez simplement dans les paramètres de demande, accédez à la clé et accédez au secret, et la fonction renverra une chaîne Baidu wenxin yiyan que vous pouvez afficher sur votre site Web. Voici un exemple:

 
$params = [
    'type' => '3',  // Citations de célébrités
    '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>

Le code ci-dessus renverra une chaîne de format JSON, par exemple:

 
{
    "errno": 0,
    "errmsg": "success",
    "data": {
        "id": "Dw3uaPUfoH",
        "source": "Sichuan",
        "author": "Lu Xun",
        "content": "Le gardien dans le champ de blé——Cher M. Crowser。"
    }
}

3. Résumé

Lorsque vous utilisez l'API Baidu Wenxin Yiyan, assurer la sécurité de l'interface est cruciale. Avec les fonctions de génération de signature et d'encapsulation PHP décrites dans cet article, vous pouvez protéger efficacement l'interface API contre les demandes et attaques illégales.