เมื่อพัฒนาโปรแกรมเว็บ บางครั้งเราจำเป็นต้องได้รับหน้าที่ผู้ใช้เชื่อมต่อ นี่คือที่ที่ใช้ผู้อ้างอิง
มันเป็นโปรโตคอล http ดังนั้นภาษาใดๆ ก็ตามที่สามารถพัฒนาโปรแกรมเว็บได้ ตัวอย่างเช่น ใน jsp คือ:
request.getHeader("referer");
ใน php มันคือ $_SERVER['HTTP_REFERER'] ฉันจะไม่ยกตัวอย่างอื่น (จริงๆ แล้วฉันไม่รู้ภาษาอื่น)
แล้วมันใช้ทำอะไรได้บ้างล่ะ? ผมขอยกตัวอย่าง 2 ตัวอย่าง:
1. ป้องกันการเชื่อมต่อที่ถูกขโมย เช่น ฉันเป็นเว็บไซต์สำหรับดาวน์โหลดซอฟต์แวร์ ในหน้าดาวน์โหลด อันดับแรกฉันใช้ผู้อ้างอิงเพื่อตรวจสอบว่าหน้าก่อนหน้าเป็นเว็บไซต์ของฉันเอง ว่ามีคนขโมยที่อยู่ดาวน์โหลดของคุณ
2. ความปลอดภัยของเว็บไซต์อีคอมเมิร์ซ ในหน้าที่ฉันส่งข้อมูลสำคัญ เช่น บัตรเครดิต ฉันใช้ผู้อ้างอิงเพื่อตรวจสอบว่าหน้าก่อนหน้าเป็นเว็บไซต์ของฉันเองหรือไม่ เพื่อส่งเพื่อข้ามไป เพื่อวัตถุประสงค์ในการตรวจสอบจาวาสคริปต์ในหน้าก่อนหน้าของคุณ
หมายเหตุเกี่ยวกับการใช้ผู้อ้างอิง:
หากฉันเข้าสู่เพจโดยตรงโดยมีผู้อ้างอิงในเบราว์เซอร์ ค่าที่ส่งคืนจะเป็นโมฆะ (jsp) ซึ่งหมายความว่าผู้อ้างอิงจะมีเนื้อหาก็ต่อเมื่อคุณคลิกลิงก์จากหน้าอื่นมาที่หน้านี้
ฉันทำการทดสอบ ตัวอย่างเช่น รหัสอ้างอิงของฉันอยู่ใน a.jsp และหน้าก่อนหน้าคือ b.htm เป็นหน้าเว็บที่มี iframe และฝัง a.jsp ไว้ใน iframe ฉันป้อนที่อยู่ของ b.htm ในเบราว์เซอร์ จากนั้นคลิกเพื่อเชื่อมต่อกับ c.htm ผลลัพธ์ที่แสดงคือ b.htm ถ้าฉันป้อน c.htm ในเบราว์เซอร์โดยตรง ผลลัพธ์ที่แสดงจะเป็น c.htm