1. Mekanisme otorisasi Token. Setelah pengguna login menggunakan nama pengguna dan kata sandi, server mengembalikan Token ke klien.
2. Mekanisme batas waktu stempel waktu, setiap permintaan pengguna akan memunculkan stempel waktu stempel waktu saat ini.
Setelah server menerima stempel waktu, server membandingkannya dengan waktu saat ini. Jika perbedaan waktu lebih besar dari waktu tertentu (misalnya 5 menit), permintaan dianggap tidak valid. Mekanisme batas waktu stempel waktu adalah cara yang efektif untuk bertahan melawan serangan DOS.
3. Mekanisme penandatanganan.
Tambahkan parameter permintaan lainnya ke Token dan stempel waktu, lalu enkripsi dengan algoritma MD5 atau SHA-1.
Contoh
/** * @desc Terima pemrosesan parameter */ fungsi pribadi dealParam(){ //Terima parameter header--parameter sistem $systemParam=getAllHeadersParam(); //Terima data isi--parameter bisnis (format json) $data=file_get_contents('php://input'); //Baca informasi kunci pribadi di file konfigurasi $api_apiKey=C('api_apiKey'); $privatekey=$api_apiKey[$systemParam['token']]; $arr['token'] =$systemParam['token']; //Pengidentifikasi yang ditetapkan oleh server (klien yang berbeda perlu menggunakan pengidentifikasi yang berbeda) $arr['timestamp']=$systemParam['timestamp']; //Cap waktu, waktu UTC, berdasarkan waktu Beijing Distrik Kedelapan Timur (+8) $arr['version'] =$systemParam['version' ] ; //Nomor versi $arr['sign'] =$systemParam['sign']; //Tanda tangan $arr['source'] =$systemParam['source']; IOS/2-H5/3-PC/4-php/5-java) $arr['data'] =json_decode($data,true); //Parameter bisnis format json $arr['method'] =$data['method']; //Akses antarmuka, format: nama model.nama metode kembalikan $arr; }
Di atas adalah tiga mekanisme keamanan antarmuka PHP. Saya harap dapat bermanfaat bagi semua orang. Panduan belajar PHP lainnya: jaringan kode sumber