Score:0

วิธีจำกัดการเข้าถึง API ของพอร์ทัลที่ทำงานบนเบราว์เซอร์ผ่าน Nginx

ธง lk

สถานการณ์

ฉันมีระบบที่มีเซิร์ฟเวอร์ api และส่วนหน้า (เว็บไซต์คงที่ทำงานบนเบราว์เซอร์) และมีให้บริการแบบสาธารณะภายใต้ 2 ชื่อโดเมน a.example.com และ a-api.example.com

คำถาม

ฉันจะจำกัดการเข้าถึง API ของฉันที่ a-api.example.com ไว้ที่ส่วนหน้าของฉันเท่านั้นได้อย่างไร (เช่น ไม่มีใครสามารถทำได้โดยพลการ ขด และสามารถเข้าถึงได้)? หรือเป็นไปได้ทั้งหมด?

หากคุณสามารถเพิ่มบล็อก nginx ตัวอย่างได้ก็จะดีมาก

Score:1
ธง us

คุณไม่สามารถบล็อกการโทรแบบ curl ได้อย่างสมบูรณ์

อย่างไรก็ตาม คุณสามารถทำให้ยากขึ้นได้โดยกำหนดให้ส่วนหัวผู้อ้างอิง HTTP ตั้งค่าเป็น API คุณสามารถใช้ได้ โมดูลผู้อ้างอิง nginx HTTP สำหรับสิ่งนี้. ตัวอย่างการกำหนดค่า:

เซิร์ฟเวอร์ {
    valid_referers a-api.example.com;

    ถ้า ($invalid_referer) {
        กลับ 403;
    }
}

นี่ไม่ใช่การเพิ่มความปลอดภัยให้กับเว็บไซต์ของคุณ เป็นเรื่องเล็กน้อยสำหรับนักแสดงที่ไม่ดีในการเพิ่มส่วนหัว HTTP ที่จำเป็นเมื่อทำการร้องขอ a-api.example.com.

ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องใช้วิธีการรักษาความปลอดภัยที่ดีที่สุดในการนำ API ของคุณไปใช้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา