Score:0

ทำให้ apache ยอมรับคำขอก็ต่อเมื่อผู้ที่ส่งคำขอเป็นโดเมนที่ฉันระบุ

ธง in

ขณะนี้ฉันมีเซิร์ฟเวอร์ apache2 ที่รับคำขอ API บน URL mydomain.com/api และฉันมีแอปพลิเคชันไคลเอ็นต์ที่ทำงานที่ มายโดเมน.คอม.
นอกจากนี้ใน API ของฉันสามารถเข้าถึงได้ mydomain.com/api/files/fileId เพื่อรับไฟล์.
ตอนนี้ในแอปพลิเคชันไคลเอนต์ของฉัน ฉันมีหน้าที่เหมือน mydomain.com/file/fileid ซึ่งแทนที่จะดาวน์โหลดไฟล์โดยตรงเหมือนที่จุดสิ้นสุด API ที่เกี่ยวข้องทำ จะแสดงหน้าเว็บที่มีข้อมูลไฟล์ และถ้าเป็นวิดีโอ จะมี GUI แบบกำหนดเองที่เหมาะสมในการสตรีม ปัญหาคือเราสามารถเข้าถึง API ได้โดยตรงและรับไฟล์ด้วยวิธีนั้นแทนที่จะเห็นบนเว็บไซต์ และฉันต้องการป้องกันสิ่งนี้
เป้าหมายสุดท้ายคือป้องกันไม่ให้ผู้ใช้ดาวน์โหลดไฟล์และให้บริการผ่านเว็บไซต์ของฉันเท่านั้น เช่นเดียวกับที่ youtube ทำ (ที่ฉันรู้จัก)...
สามารถทำได้ด้วยการกำหนดค่า apache หรือไม่ หรือฉันควรเปลี่ยนวิธีที่ฉันเข้าใกล้สิ่งนี้โดยสิ้นเชิง? แก้ไข: สำหรับตอนนี้ฉันกำลังรักษาว่าไฟล์สามารถเข้าถึงได้ทั้งจาก api url และหน้าเว็บไซต์ แต่ถ้าใครมีความคิดใด ๆ โปรดช่วยด้วย ขอบคุณ

djdomi avatar
za flag
ฉันคิดว่ามันซ้ำกันเหมือน [อันนี้](https://stackoverflow.com/questions/39550660/how-to-block-direct-download-file)
Alessandro Valentino avatar
in flag
ฉันไม่คิดอย่างนั้น ฉันมีการตรวจสอบสิทธิ์ในคำขอเหล่านี้แล้ว ความต้องการของฉันคือป้องกันไม่ให้ผู้อื่นเข้าถึง api url โดยตรง และอนุญาตให้แอปพลิเคชันของฉันใช้งานเท่านั้น
djdomi avatar
za flag
แล้วจำกัดไว้ที่ localhost นั่นเอง อาจเป็นทางออกที่ดี?
Alessandro Valentino avatar
in flag
หากฉันจำกัดคำขอไว้ที่ localhost เว็บแอปพลิเคชันของฉันไม่สามารถเข้าถึงได้ เนื่องจากจำเป็นต้องเข้าถึงทรัพยากรในฐานะผู้ใช้รายอื่น หรืออย่างน้อยฉันก็ไม่รู้วิธีทำ แต่ฉันคิดว่ามันเป็นไปไม่ได้
djdomi avatar
za flag
ถ้าคุณเขียนสิ่งนี้ คุณก็น่าจะทำได้ คุณอาจใช้รหัสที่ซ่อนอยู่เพื่ออนุญาตให้เข้าถึงได้ แต่นั่นเป็นเพียงความคิดเท่านั้น โปรดจำไว้ว่ามีสคริปต์ป้องกันการปลิงที่ป้องกันไม่ให้ผู้ใช้ทราบ URL จริง แต่ความผิดพลาดของเซิร์ฟเวอร์ไม่ใช่หน้าการเข้ารหัส Stackoverflow.com อยู่ในใจของฉัน ทางเลือกที่ดีกว่าของคุณในการแก้ปัญหาในแหล่งที่มาแทนที่จะทำและสร้างวิธีแก้ปัญหา
Alessandro Valentino avatar
in flag
ฉันคิดเกี่ยวกับการใช้คีย์ที่บันทึกไว้ในไคลเอนต์ แต่แล้วคนที่รู้พื้นฐานบางอย่าง นำทาง js และค้นหาคีย์ได้หรือไม่ นอกจากนี้ ฉันไม่รู้เกี่ยวกับ "สคริปต์ปลิง" เหล่านั้น ดังนั้นฉันจะตรวจสอบอย่างละเอียดเพื่อดูว่ามันช่วยกรณีของฉันได้ไหม ขอบคุณ

โพสต์คำตอบ

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