Kod PHP melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan

WBOY
Lepaskan: 2023-08-27 15:30:01
asal
1207 orang telah melayarinya

Kod PHP melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan

Kod PHP melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan

Apabila membangun menggunakan API Baidu Wenxin Yiyan, untuk memastikan keselamatan antara muka dan mengurangkan permintaan berniat jahat, kami boleh menambah antara muka dalam kod Pengesahan keselamatan . Artikel ini akan memperkenalkan cara menggunakan kod PHP untuk melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan.

Pertama sekali, kita perlu memahami parameter permintaan antara muka API Baidu Wenxin Yiyan. Alamat permintaan antara muka ialah: http://api.lwl12.com/hitokoto/v1 Parameter permintaan antara muka termasuk:

  • c: kod pengenalan pemanggil antara muka
  • a: nama antara muka yang dipanggil.
  • s: antara muka Kod pengenalan pemanggil (c) antara muka

yang ditandatangani boleh diperolehi dengan memohon di laman web rasmi API Baidu Wenxin Yiyan. Nama antara muka panggilan (a) boleh hitokoto, yang bermaksud untuk mendapatkan teks rawak.

Tandatangan antara muka digunakan untuk mengesahkan kesahihan permintaan antara muka. Penjanaan tandatangan memerlukan penggunaan kod pengenalan pemanggil dan nama antara muka, serta kunci persendirian yang telah dipersetujui sebelumnya. Peraturan penjanaan tandatangan adalah seperti berikut:

  1. Sambungkan kod pengenalan pemanggil dan nama antara muka dengan koma bahasa Inggeris, seperti "kod pengenalan pemanggil, nama antara muka"
  2. Tambahkan kunci peribadi di hujung rentetan yang disambung
  3. Pair the splicing Rentetan yang terhasil tertakluk kepada pengiraan cincang MD5 untuk mendapatkan nilai yang ditandatangani

Berikut ialah contoh kod PHP yang melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan:

<?php
// 定义调用方识别码、接口名称和私钥
$c = "调用方识别码";
$a = "hitokoto";
$secretKey = "私钥";

// 生成签名
$sign = md5($c . "," . $a . $secretKey);

// 构建请求参数
$params = [
    "c" => $c,
    "a" => $a,
    "s" => $sign
];

// 发起请求
$apiUrl = "http://api.lwl12.com/hitokoto/v1?" . http_build_query($params);
$response = file_get_contents($apiUrl);

// 处理接口返回结果
$data = json_decode($response, true);
if ($data && isset($data["data"]["hitokoto"])) {
    echo "随机的文心一言:{$data["data"]["hitokoto"]}";
} else {
    echo "获取文心一言失败";
}
?>
Salin selepas log masuk

Dalam kod contoh di atas, kami mula-mula tentukan pengecam pihak panggilan, nama antara muka dan kunci peribadi. Parameter ini kemudiannya digunakan untuk menjana tandatangan untuk antara muka. Seterusnya, kami membina parameter permintaan, menambah pengecam pemanggil, nama antara muka dan tandatangan pada parameter permintaan. Akhir sekali, fungsi file_get_contents digunakan untuk memulakan permintaan antara muka dan memproses hasil yang dikembalikan oleh antara muka.

Melalui pelaksanaan kod di atas, kami boleh mencapai pengesahan keselamatan antara muka API Baidu Wenxin Yiyan. Dalam pembangunan sebenar, anda boleh meletakkan kod ini ke dalam projek anda sendiri dan membuat pelarasan dan pengembangan yang sepadan mengikut keperluan sebenar.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan kod PHP untuk melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan. Dengan mengesahkan kod pengenalan pemanggil, nama antara muka dan tandatangan antara muka, keselamatan antara muka API boleh ditingkatkan dengan berkesan untuk mengelakkan permintaan berniat jahat dan capaian yang menyalahi undang-undang. Dalam pembangunan sebenar, pengesahan keselamatan yang serupa boleh dilakukan pada antara muka API lain berdasarkan kod sampel ini. Semoga artikel ini bermanfaat kepada semua orang!

Atas ialah kandungan terperinci Kod PHP melaksanakan pengesahan keselamatan antara muka API Baidu Wenxin Yiyan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!