Bagaimana untuk menyelesaikan masalah ralat log masuk php WeChat 41001

藏色散人
Lepaskan: 2023-03-14 19:04:01
asal
4396 orang telah melayarinya

Penyelesaian kepada ralat log masuk php WeChat 41001: 1. Periksa log 2. Keluarkan garis sebatan ke belakang melalui jalur sebatan 3. Nyahkod melalui json_decode.

Bagaimana untuk menyelesaikan masalah ralat log masuk php WeChat 41001

Persekitaran pengendalian artikel ini: sistem windows7, versi PHP7.1, komputer DELL G3

Cara untuk selesaikan masalah ralat log masuk php WeChat 41001?

Log Masuk Program Mini Menyahsulit Data Pengguna encryptedData -41001: pengekodanAesKey Haram

Perangkap yang dihadapi semasa melakukan log masuk yang dibenarkan WeChat untuk Program Mini, masalah itu akhirnya diselesaikan

Kongsi sekarang Berikut ialah beberapa idea untuk menyelesaikan masalah.

Masalah:

Untuk membenarkan log masuk WeChat untuk program mini, mula-mula dapatkan kod, kemudian dapatkan session_key dan open_id, kemudian dapatkan encryptedData, dan hantarkannya ke pelayan untuk penyahsulitan maklumat pengguna diperolehi, tetapi kadangkala ia berjaya dan kadangkala ia mengembalikan ralat -41001, session_key diperolehi.

Penyelesaian:

Arah yang saya pertimbangkan pada mulanya ialah tamat tempoh session_key, kerana saya tidak tahu tamat tempoh session_key Selepas banyak ujian, saya mendapati bahawa ini adalah bukan sebabnya.

Saya kemudian mula melayari pelbagai blog yang berkaitan dan mencari masalah yang berkaitan, tetapi akhirnya tidak menemui penyelesaian mungkin, jadi tidak banyak masalah di kawasan ini

Akhirnya, saya mula melihat melalui kod sumber SDK yang dinyahsulit, dan kemudian mendapati bahawa sebab untuk -41001 adalah untuk mengesahkan panjang session_key

if (strlen($this->sessionKey) != 24) {
 return ErrorCode::$IllegalAesKey;
}
//public static $IllegalAesKey = -41001;
//>-41001: encodingAesKey 非法
Salin selepas log masuk

Akhirnya, saya melihat log dengan teliti (Saya juga membandingkan session_key secara terperinci sebelum ini, hanya untuk melihat sama ada terdapat sebarang nilai. Rentetan aksara yang besar, tetapi saya tidak memahami maksud yang mendalam. Saya tahu ada yang berjaya dan ada yang gagal, dan saya tidak dapat mencari corak sama sekali.) Beri perhatian kepada panjang session_key dan anda boleh melihat helah di dalamnya

Rentetan json PHP mempunyai Apabila menambahkan garisan ke belakang "" untuk melarikan diri, anda perlu mengalih keluar garisan ke belakang terlebih dahulu semasa memproses dalam PHP, dan kemudian gunakan fungsi stripslashes() dalam json_decode

$str = stripslashes($json); 
$arr = json_decode($str,true);
Salin selepas log masuk

, masalahnya selesai!

*Ini soalan kecil, rekodkan untuk memberikan ingatan yang panjang kepada diri anda

Kajian yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah ralat log masuk php WeChat 41001. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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