1. กลไกการอนุญาตโทเค็น หลังจากที่ผู้ใช้เข้าสู่ระบบโดยใช้ชื่อผู้ใช้และรหัสผ่าน เซิร์ฟเวอร์จะส่งคืนโทเค็นไปยังไคลเอนต์
2. กลไกการหมดเวลาการประทับเวลา คำขอของผู้ใช้แต่ละรายการจะนำการประทับเวลาปัจจุบันมาด้วย
หลังจากที่เซิร์ฟเวอร์ได้รับการประทับเวลา จะเปรียบเทียบกับเวลาปัจจุบัน หากความแตกต่างของเวลามากกว่าเวลาที่กำหนด (เช่น 5 นาที) คำขอจะถือว่าไม่ถูกต้อง กลไกการหมดเวลาการประทับเวลาเป็นวิธีที่มีประสิทธิภาพในการป้องกันการโจมตี DOS
3. กลไกการลงนาม
เพิ่มพารามิเตอร์คำขออื่นๆ ลงในโทเค็นและการประทับเวลา จากนั้นเข้ารหัสด้วยอัลกอริทึม MD5 หรือ SHA-1
ตัวอย่าง
- * @desc ยอมรับการประมวลผลพารามิเตอร์ */ ฟังก์ชั่นส่วนตัว dealParam(){ //ยอมรับพารามิเตอร์ส่วนหัว--พารามิเตอร์ระบบ $systemParam=getAllHeadersParam(); //ยอมรับข้อมูลเนื้อหา--พารามิเตอร์ทางธุรกิจ (รูปแบบ json) $data=file_get_contents('php://input'); //อ่านข้อมูลคีย์ส่วนตัวในไฟล์กำหนดค่า $api_apiKey=C('api_apiKey'); $privatekey=$api_apiKey[$systemParam['token']]; $arr['token'] =$systemParam['token']; //ตัวระบุที่กำหนดโดยเซิร์ฟเวอร์ (ไคลเอนต์ที่แตกต่างกันจำเป็นต้องใช้ตัวระบุที่แตกต่างกัน) $arr['timestamp']=$systemParam['timestamp']; //การประทับเวลา, เวลา UTC ตามเวลาปักกิ่ง East Eighth District (+8) $arr['version'] =$systemParam['version' ] ; //หมายเลขเวอร์ชัน $arr['sign'] =$systemParam['sign']; //Signature $arr['source'] =$systemParam['source']; IOS/2-H5/3-PC/4-php/5-java) $arr['data'] =json_decode($data,true); //รูปแบบพารามิเตอร์ธุรกิจ json $arr['method'] =$data['method']; //Access interface, format: model name.method name ส่งคืน $arr; -
ข้างต้นคือกลไกสามประการของการรักษาความปลอดภัยอินเทอร์เฟซ PHP ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน คู่มือการเรียนรู้ PHP เพิ่มเติม: เครือข่ายซอร์สโค้ด