Defaults.Exposed

Defaults.Exposedการแก้ไข › Referrer-Policy

วิธีแก้ไข Referrer-Policy

Referrer-Policy คือคำสั่งหนึ่งบรรทัดที่เว็บไซต์ของคุณส่งให้เบราว์เซอร์ของผู้เข้าชมทุกคน โดยควบคุมว่าจะมีที่อยู่เว็บของคุณเดินทางไปกับพวกมันเท่าไหร่เมื่อคลิกลิงก์ไปยังเว็บไซต์อื่น หากไม่มี ที่อยู่แบบเต็มของหน้าที่พวกเขาอยู่ — ไม่ว่าจะเป็นคำค้นหา หมายเลขบัญชี ลิงก์รีเซ็ต เส้นทางหน้าภายใน และทุกอย่าง — จะถูกส่งให้เว็บไซต์ถัดไปที่พวกเขาไปถึงอย่างเงียบๆ รวมถึงโฆษณา บริษัทวิเคราะห์ และที่ใดก็ตามที่ลิงก์ชี้ไป

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

สิ่งนี้อาจทำให้คุณเสียค่าใช้จ่าย

เหตุใดจึงสำคัญ เบราว์เซอร์ถ้าปล่อยให้ตัดสินใจเอง จะพูดมาก: ตามค่าเริ่มต้นจะบอกเว็บไซต์ถัดไปว่าผู้เข้าชมมาจากที่ใด มักรวมถึงที่อยู่แบบเต็มของหน้า สำหรับเว็บไซต์โบรชัวร์นั่นอาจไม่เป็นอันตราย แต่เมื่อที่อยู่ของคุณมีสิ่งส่วนตัว — คำค้นหา ID ออร์เดอร์ อีเมลในลิงก์ เส้นทางส่วนตัว — ค่าเริ่มต้นนั้นจะรั่วไหลอย่างเงียบๆ ไปยังฝ่ายภายนอก Referrer-Policy คือการตั้งค่าเดียวที่บอกเบราว์เซอร์ให้หยุดแบ่งปันเกินไป มันเป็นการตรวจสอบที่ให้คะแนนในการ์ดคะแนนของคุณมีค่าจริงๆ แมพโดยตรงกับหน้าที่ลดข้อมูลตามกฎหมายความเป็นส่วนตัว และเป็นหนึ่งใน security header มาตรฐานที่การตรวจสอบระดับมืออาชีพใดๆ คาดหวังว่าจะพบ

มันคืออะไร เป็นคำพูดง่ายๆ

ทุกครั้งที่ผู้เข้าชมบนเว็บไซต์ของคุณคลิกลิงก์ไปยังเว็บไซต์อื่น — ลิงก์ขาออก แบนเนอร์โฆษณา “แชร์สิ่งนี้” แม้แต่ฟอนต์หรือรูปภาพที่โหลดจากที่อื่น — เบราว์เซอร์ของมันแนบโน้ตอย่างเงียบๆ ว่าพวกมันมาจากหน้าใดของคุณ โน้ตนั้นเรียกว่า referrer

ใช้อย่างชาญฉลาด referrer ไม่เป็นอันตรายและมีประโยชน์: มันคือวิธีที่เว็บไซต์อื่นรู้ว่า traffic มาจากคุณ และขับเคลื่อนการวิเคราะห์จำนวนมาก ข้อเสียอยู่ในพฤติกรรมเริ่มต้น ถ้าปล่อยไว้โดยไม่จัดการ เบราว์เซอร์ไม่เพียงบอกว่า “พวกมันมาจาก your-business.com” — มักส่งที่อยู่แบบเต็มของหน้าที่แน่นอน รวมถึงทุกอย่างหลังชื่อโดเมน และที่อยู่เว็บมีมากกว่าที่คนส่วนใหญ่รู้: คำค้นหาที่พิมพ์ลงในเว็บไซต์ของคุณ หมายเลขออร์เดอร์และบัญชี เส้นทางไปยังหน้าสมาชิกเท่านั้นส่วนตัว แม้แต่โทเค็นลับครั้งเดียวในลิงก์รีเซ็ตรหัสผ่านและยืนยัน

Referrer-Policy คือคำสั่งเดียวที่เว็บไซต์ของคุณส่งให้เบราว์เซอร์ที่บอกว่ามันได้รับอนุญาตให้แชร์โน้ตนั้นเท่าไหร่ คุณสามารถบอกให้แชร์เฉพาะชื่อโดเมนของคุณ เฉพาะกับหน้าอื่นบนเว็บไซต์ของคุณเอง หรือไม่มีอะไรเลย คิดว่ามันเป็นความแตกต่างระหว่างมอบที่อยู่บ้านแบบเต็มพร้อมตารางรายวันให้คนแปลกหน้า เทียบกับการบอกพวกมันว่าคุณอยู่เมืองใด

นี่เป็นหนึ่งใน “security header” กลุ่มเล็กๆ — คำสั่งสั้นๆ ที่เว็บไซต์ของคุณให้เบราว์เซอร์ของผู้เข้าชมทุกคน มันไม่เปลี่ยนวิธีที่เว็บไซต์ของคุณดูหรือทำงาน มันเพียงหยุดเบราว์เซอร์จากการแบ่งปันเกินไปในนามของคุณ

สิ่งนี้อาจทำให้คุณสูญเสียอะไร

นี่คือวิธีที่เป็นรูปธรรมและใช้ในชีวิตประจำวันที่ Referrer-Policy ที่หายไปหรืออนุญาตมากกัดธุรกิจจริง ไม่มีสิ่งเหล่านี้ต้องการแฮกเกอร์ — มันเกิดขึ้นโดยอัตโนมัติ ทุกวัน ในการใช้งานปกติ

มันคืออะไรจริงๆ

ตามค่าเริ่มต้น เบราว์เซอร์ในเวอร์ชันสมัยใหม่ปฏิบัติตามพฤติกรรมที่คล้ายกับ “strict-origin-when-cross-origin” — แต่คุณไม่สามารถพึ่งพาสิ่งนั้นได้ เพราะเบราว์เซอร์เก่า embedded webview และการกำหนดค่าบางอย่างยังคง fallback กลับไปรั่วมากขึ้น วิธีเดียวที่จะแน่ใจคือการตั้งนโยบายอย่างชัดเจน เมื่อคุณทำ คุณกำลังเลือกกฎหนึ่งจากรายการสั้นๆ ที่สำคัญ:

และสองค่าที่ควรหลีกเลี่ยง เพราะการ์ดคะแนนถือว่าพวกมันไม่ดีกว่าไม่มี header เลย:

สิ่งที่ “ดี” ดูเหมือน: Referrer-Policy header มีอยู่และตั้งค่าเป็นค่าที่จำกัด — สำหรับธุรกิจส่วนใหญ่ strict-origin-when-cross-origin สิ่งนี้ทำให้การวิเคราะห์การอ้างอิงทำงานในขณะที่มั่นใจว่าไม่มีอะไรเกินชื่อโดเมนของคุณเข้าถึงเว็บไซต์ภายนอก

วิธีแก้ไข (ฟรี ประมาณ 5 นาที)

ส่งส่วนนี้ให้ผู้ดูแล IT เว็บดีเวลลอปเปอร์ หรือฝ่ายสนับสนุนโฮสติ้งของคุณ — การแก้ไขฟรี เป็นบรรทัดเดียว และจะไม่ทำให้เว็บไซต์ของคุณเสียหาย เป้าหมาย: ตั้งค่า Referrer-Policy response header ด้วยค่า strict-origin-when-cross-origin

Cloudflare (ไม่มีโค้ด — ง่ายที่สุดหากคุณใช้): Dashboard → โดเมนของคุณ → Rules → Transform Rules → Modify Response Header → สร้าง rule → Set static → ชื่อ Header Referrer-Policy, ค่า strict-origin-when-cross-origin → ใช้กับ request ขาเข้าทั้งหมด → Deploy

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Apache (ใน site config หรือ .htaccess):

Header always set Referrer-Policy "strict-origin-when-cross-origin"

IIS (web.config):

<httpProtocol><customHeaders>
  <add name="Referrer-Policy" value="strict-origin-when-cross-origin" />
</customHeaders></httpProtocol>

Node / Express:

app.use((req, res, next) => { res.setHeader('Referrer-Policy', 'strict-origin-when-cross-origin'); next(); });

หลังจากใช้งาน: โหลดเว็บไซต์ของคุณและรันการตรวจสอบใหม่ หรือใช้ browser developer tools เพื่อยืนยันว่า Referrer-Policy: strict-origin-when-cross-origin มีอยู่

ข้อผิดพลาดทั่วไป

คำถามที่พบบ่อย

ฉันไม่ใช่คนเทคนิค — นี่เป็นสิ่งที่ฉันจัดการได้จริงๆ ไหม?

ใช่ และมันเป็นหนึ่งในการแก้ไขที่ง่ายที่สุดในการ์ดคะแนนทั้งหมด มันเป็นบรรทัดเดียวที่เพิ่มโดยใครก็ตามที่รันเว็บไซต์หรือโฮสติ้งของคุณ และบนบริการอย่าง Cloudflare มันเป็นเพียงการคลิกสองสามครั้งโดยไม่ต้องใช้โค้ดเลย ส่งให้พวกเขาในส่วน 'วิธีแก้ไข' ด้านล่าง มันฟรี ใช้เวลาประมาณห้านาที และต่างจากการตั้งค่าความปลอดภัยบางอย่าง ไม่ทำให้สิ่งใดบนเว็บไซต์ของคุณเสียหาย

'referrer' หมายความว่าอะไรที่นี่?

เมื่อมีคนคลิกลิงก์จากหน้าของคุณไปยังเว็บไซต์อื่น เบราว์เซอร์ของมันส่งโน้ตไปบอกว่าพวกมันมาจากหน้าใด — โน้ตนั้นเรียกว่า referrer มันมีประโยชน์จริงสำหรับการวิเคราะห์ที่ซื่อสัตย์ ปัญหาคือตามค่าเริ่มต้น โน้ตมักรวมถึงที่อยู่หน้าแบบเต็ม ไม่ใช่แค่ชื่อโดเมนของคุณ หากที่อยู่นั้นมีสิ่งส่วนตัว มันก็จะถูกแชร์ด้วย Referrer-Policy ช่วยให้คุณลดโน้ตให้เหลือแค่โดเมนของคุณ หรือปิดมัน เพื่อไม่มีสิ่งที่ละเอียดอ่อนรั่วไหล

คุ้มค่าที่จะยุ่งกับสิ่งนี้หากเว็บไซต์ของฉันไม่รับชำระเงินไหม?

เกือบแน่นอนใช่ คุณไม่จำเป็นต้องมี checkout เพื่อมีข้อมูลส่วนตัวในที่อยู่เว็บ — กล่องค้นหา แบบฟอร์มติดต่อ หน้าบัญชี ลิงก์เอกสาร และอีเมลรีเซ็ตรหัสผ่านทั้งหมดวางข้อมูลในแถบที่อยู่เป็นประจำ และแม้ไม่มีข้อมูลส่วนตัวเลย การรั่วไหลเส้นทางหน้าภายในของคุณให้เว็บไซต์ภายนอกทุกแห่งที่ผู้เข้าชมคลิกผ่านก็มอบแผนที่ฟรีของเว็บไซต์ของคุณให้คู่แข่งและผู้ขูด การแก้ไขไม่มีค่าใช้จ่ายและห้านาที ดังนั้นไม่มีเหตุผลที่จะข้าม

การเปิดสิ่งนี้จะทำให้เว็บไซต์หรือการวิเคราะห์ของฉันเสียหายไหม?

ไม่ นี่เป็นหนึ่งใน header ที่ปลอดภัย — มันเพียงควบคุมว่าจะแชร์รายละเอียดที่อยู่เท่าไหร่กับเว็บไซต์อื่น ไม่ใช่ว่าลิงก์จะทำงานหรือไม่ การตั้งค่าที่แนะนำยังคงส่งชื่อโดเมนของคุณไปยังเว็บไซต์ภายนอก ดังนั้นการวิเคราะห์การอ้างอิงที่ถูกต้องยังคงทำงาน มันเพียงหยุดที่อยู่ส่วนตัวแบบเต็มจากการไปด้วย ไม่จำเป็นต้องทดลองดูและไม่มีอะไรต้องทดสอบบน staging ก่อน

นี่เป็นปัญหากฎหมายความเป็นส่วนตัวหรือแค่สิ่งที่ดี?

มันอาจเป็นปัญหาการปฏิบัติตามกฎเกณฑ์จริงๆ กฎการปกป้องข้อมูลกำหนดให้คุณรวบรวมและแชร์เฉพาะข้อมูลส่วนบุคคลขั้นต่ำที่จำเป็น และรู้ว่าข้อมูลของคุณไปที่ใด หากที่อยู่ของคุณมีตัวระบุส่วนบุคคลและคุณรั่วไหลให้ผู้ลงโฆษณาหรือบริษัทวิเคราะห์โดยไม่มีข้อตกลงในสถานที่ นั่นเป็นความล้มเหลวในการลดข้อมูลที่ผู้ตรวจสอบและหน่วยงานกำกับดูแลรับรู้ สำหรับธุรกิจส่วนใหญ่ header นี้เป็นวิธีถูกและเป็นรูปธรรมในการปิดช่องว่างนั้น

สิ่งนี้ส่งผลต่อเกรดของเรา หรือเป็นแค่คำแนะนำ?

มันส่งผลต่อเกรดของคุณ การตรวจสอบ Referrer-Policy ถูกให้คะแนนและมีค่าสูงสุด 15 คะแนนในหมวด Web Security header ที่หายไปถูกทำเครื่องหมายว่ามีความรุนแรงปานกลาง โปรดสังเกตกับดักหนึ่ง: การตั้งค่า header เป็นค่าที่อนุญาตมากเช่น 'unsafe-url' หรือ 'no-referrer-when-downgrade' ให้คะแนนเป็นศูนย์ — เหมือนกับไม่มี header เลย — เพราะค่าเหล่านั้นยังรั่วที่อยู่แบบเต็ม เพื่อให้ได้คะแนน คุณต้องการค่าที่จำกัดอย่างเหมาะสม เช่น 'strict-origin-when-cross-origin'