ฉันต้องออกแบบ "วิดเจ็ต" สคริปต์ที่พันธมิตรจะฝังไว้ในเว็บไซต์ของพวกเขาเพื่อแสดง UI และโทรหา API ของเรา
โดยพื้นฐานแล้วมันจะแสดงข้อมูลของเราในเว็บไซต์เหล่านี้โดยอ้างอิงจาก ID บางรหัสที่พวกเขาให้ไว้ในการเรียก API สิ่งที่เราต้องการหลีกเลี่ยงคือมีคนใช้ API ในทางที่ผิดและใช้ขูดแคตตาล็อกทั้งหมดของเรา
พันธมิตรแต่ละรายที่ฝังสคริปต์ของเราจะได้รับกุญแจสาธารณะที่จะต้องให้เมื่อเรียก API แนวคิดจะขอให้พวกเขาต่อท้ายคีย์นี้เมื่อโหลดสคริปต์เช่น:
<script src="//initrode.com/widget/loader.js?key=xxxx"></script>
ด้วยวิธีนี้คำขอสำหรับสคริปต์สามารถใช้ในการลงทะเบียนคู่ของคีย์ / แหล่งที่มา IP และตอบรับการเรียก API ที่ตามมาเฉพาะในกรณีที่คู่คีย์ / IP ตรงกับคู่ที่ลงทะเบียนแล้ว (มีอายุการใช้งาน จำกัด และ จำกัด คำขอต่อวัน)
ฉันไม่แน่ใจว่าเป็นความคิดที่ดีเพราะเห็นได้ชัดว่าการรักษาความปลอดภัยด้วยการทำให้งงงวย (มีคนโหลดสคริปต์จะข้ามมันอย่างสมบูรณ์); แต่ฉันไม่เห็นวิธีอื่น ๆ ในการ จำกัด การเข้าถึง ฉันไม่สามารถให้รหัสที่ไม่ซ้ำกับผู้ใช้ทุกคนเฉพาะกับพันธมิตร ฉันไม่สามารถใช้ระบบกุญแจส่วนตัวได้เนื่องจากทุกรหัสจะมีให้สำหรับทุกคน โดยทั่วไปจะ จำกัด การเข้าถึง API สาธารณะเช่นขัดแย้งกับคำจำกัดความ
คุณคิดอย่างไรกับวิธีนี้และคุณจะทำอย่างไรกับข้อ จำกัด เหล่านี้