การติดตามสแต็คควรอยู่ในข้อความแสดงข้อผิดพลาดที่ปรากฏแก่ผู้ใช้หรือไม่


45

ฉันมีข้อโต้แย้งเล็กน้อยในที่ทำงานของฉันและฉันพยายามคิดออกว่าใครถูกและสิ่งที่ถูกต้องคืออะไร

บริบท: เว็บแอปพลิเคชันอินทราเน็ตที่ลูกค้าของเราใช้สำหรับการบัญชีและสิ่ง ERP อื่น ๆ

ฉันเห็นว่าข้อความแสดงข้อผิดพลาดที่นำเสนอต่อผู้ใช้ (เมื่อเกิดข้อผิดพลาด) ควรมีข้อมูลให้มากที่สุดรวมถึงการติดตามสแต็ก แน่นอนว่าต้องเริ่มต้นด้วยดี "มีข้อผิดพลาดเกิดขึ้นโปรดส่งข้อมูลด้านล่างไปยังผู้พัฒนา" ด้วยตัวอักษรขนาดใหญ่ที่เป็นมิตร

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

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

น่าเสียดายที่มี "การตรวจสอบความปลอดภัย" บางประเภท (ไม่รู้เลยว่าพวกเขาทำอย่างไรโดยไม่มีแหล่งที่มา ... แต่ไม่ว่าอะไรก็ตาม) และพวกเขาก็บ่นเกี่ยวกับข้อความยกเว้นทั้งหมดที่อ้างว่าเป็นภัยคุกคามความปลอดภัย ตามปกติแล้วลูกค้า (อย่างน้อยหนึ่งคนที่ฉันรู้จัก) ได้ทำสิ่งนี้ตามมูลค่าที่กำหนดและตอนนี้ต้องการให้มีการล้างข้อความ

ฉันล้มเหลวในการดูว่าผู้โจมตีที่มีศักยภาพสามารถใช้กองติดตามเพื่อค้นหาสิ่งที่เขาไม่สามารถหามาก่อน มีตัวอย่างใดบ้างมีหลักฐานรับรองว่าใครเคยทำเช่นนั้นบ้าง? ฉันคิดว่าเราควรต่อสู้กับความคิดที่โง่เขลา แต่บางทีฉันอาจเป็นคนโง่ที่นี่ดังนั้น ...

ถูกต้องใคร


25
ว้าว. เพียงแค่ ... ว้าว " Unfortunately there has been some kind of "Security audit"" - จริงจังไหม ทัศนคติแบบไหนกันนะ? การตรวจสอบความปลอดภัยมีไว้เพื่อประโยชน์ของคุณ - เพื่อทำให้ระบบของคุณดีขึ้นเพื่อค้นหาปัญหาก่อนที่คนร้ายจะทำ คุณควรพิจารณาพยายามทำงานกับพวกเขาไม่ใช่ต่อต้านพวกเขา นอกจากนี้คุณยังสามารถลองที่จะได้รับข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัย PoV ไปที่ความปลอดภัยของข้อมูล
AviD

7
และ btw การตรวจสอบความปลอดภัยไม่จำเป็นต้องเข้าถึงซอร์สโค้ดพวกเขาอาจทำการทดสอบการเจาะทะลุกล่องดำจำลองสิ่งที่ผู้ใช้ที่ประสงค์ร้ายทำ - ลองโจมตีแอปพลิเคชันในฐานะผู้ใช้ แม้ว่าฉันยอมรับว่าการเข้าถึงซอร์สโค้ดอาจเปิดใช้งานรูปแบบการตรวจสอบที่มีประสิทธิภาพมากขึ้น :-)
AviD

1
@AviD - ในความเป็นจริงฉันไม่รู้ว่าพวกเขาวิเคราะห์อะไร แต่จากรายงานบางฉบับที่ฉันเห็นมันดูเหมือนว่าจะเป็นการทดสอบแบบกล่องดำให้ฉัน พูดตามตรงฉันไม่ต้องการทำงานกับพวกเขา แน่นอนฉันชอบข่าวเมื่อฉันได้ยินพวกเขา แต่ "ความเปราะบาง" โดยเฉพาะของพวกเขาดูเหมือนจะโง่เขลาสำหรับฉัน ในการตัดสินใจด้านความปลอดภัยทุกครั้งคุณต้องชั่งน้ำหนักการลดภัยคุกคามต่อการลดการใช้งาน ในกรณีนี้ฉันคิดว่ามันช่วยลดความสามารถในการใช้งานได้มากกว่าที่เพิ่มความปลอดภัย
Vilx-

1
ฉันเห็นด้วยอย่างมากเกี่ยวกับการชั่งน้ำหนัก แต่ฉันไม่เห็นด้วยกับการใช้งาน มันเป็นอันตรายต่อความปลอดภัยมากกว่าที่คุณคิดและฉันก็คิดว่าวิธีการของคุณ (ทำสิ่งนี้ด้วยตัวเองเช่นกันจนกระทั่งฉันได้พูดคุยกับผู้ใช้บางคน ..... ) แย่กว่าสำหรับการใช้งาน คิดในแง่ของงาน - ตามที่ @ Jon ตอบแล้ววิธีการของเขาทำให้งานของผู้ใช้ดีขึ้นมาก ผู้ใช้ไม่จำเป็นต้องสนใจเกี่ยวกับสแต็ก (เว้นแต่ผู้ใช้ของคุณเป็นนักพัฒนา ... ) แต่ความเชี่ยวชาญของฉันอยู่ในความปลอดภัย - และความเสี่ยงเป็นเรื่องจริง
AviD

1
@AviD - บางทีคุณอาจชี้ให้ฉันเห็นถึงทรัพยากรบางอย่างที่อธิบายว่าการติดตามสแต็กอาจเป็นอันตรายได้อย่างไร ฉันพร้อมที่จะยอมรับ แต่ฉันต้องการบางสิ่งที่มากกว่าหลักการทั่วไปของ "แสดงเฉพาะสิ่งที่คุณต้องการ"
Vilx-

คำตอบ:


73

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

หากไซต์ของคุณติดตั้งในสภาพแวดล้อมของลูกค้าและคุณไม่สามารถเข้าถึงได้คุณสามารถรับแผนกไอทีในสถานที่เพื่อส่งสารสกัดบางส่วนตามข้อผิดพลาดที่ไม่มี

อีกสิ่งหนึ่งที่คุณควรพิจารณาคือการมีรายละเอียดอีเมลระบบของข้อผิดพลาดไปยังกล่องจดหมายที่คุณเห็นดังนั้นคุณจะรู้ว่าเมื่อสิ่งใดผิดพลาด

การมีระบบที่รั่วไหลโดยพื้นฐานเมื่อสิ่งที่ไม่ถูกต้องไม่ได้สร้างแรงบันดาลใจให้กับผู้ใช้ที่ไม่ใช่ด้านเทคนิค - มันมีแนวโน้มที่จะทำให้พวกเขาคิดว่ามีบางอย่างผิดปกติ (เช่นคุณเข้าใจ BSOD มากแค่ไหนและอย่างไร คุณรู้สึกอย่างไรเมื่อมีคนมา)

บน stacktrace:

ใน. Net การติดตามสแต็กจะแสดงการติดตามแบบเต็มลงในแอสเซมบลีที่มาจากคอร์ MS และจะเปิดเผยรายละเอียดเกี่ยวกับเทคโนโลยีที่คุณใช้และเวอร์ชันที่เป็นไปได้เช่นกัน สิ่งนี้จะให้ข้อมูลที่มีค่าเกี่ยวกับจุดอ่อนที่อาจเป็นไปได้ของผู้บุกรุก


6
ฉันชอบคำตอบของคุณเพราะมันแสดง "ถนนสายกลาง" - ไม่แสดง แต่ทำให้มองหาข้อยกเว้นได้ง่าย ฉันจะพยายามผลักดันสิ่งนั้นในตอนนี้ฉันหวังว่าพวกเขาจะเห็นด้วย ขอขอบคุณ!
Vilx-

2
ฉันคิดว่านี่เป็นวิธีที่ "เป็นผู้ใหญ่" มาก นอกจากนี้ stacktrace ยังให้ข้อมูลมากมาย แต่ฉันยังไม่พบวิธีแก้ปัญหาซึ่งสามารถบันทึกข้อมูลสถานะโดยอัตโนมัติพร้อมกับ stacktrace (โดยไม่ต้องเปลี่ยนรหัสทุกที่) ดูเหมือนว่าการเขียนดีบักเกอร์ของคุณเองและการแนบเป็นวิธีหนึ่งที่เป็นไปได้ แต่ห่างไกลจากการใช้งานเล็กน้อย
แดเนียล B

@DanielB: ในเว็บแอปมีความเป็นไปได้ที่จะได้รับบางสิ่งที่พบบ่อย (เช่นหมายเลขผู้ใช้, หมายเลขลูกค้า ฯลฯ ) จากเซสชัน / แคช - เนื่องจากมันยังคง "ทั่วโลก" แม้ข้อมูลจำนวนมากสามารถช่วยทำซ้ำข้อผิดพลาดได้อย่างมาก ละเอียดยิ่งกว่าที่เป็นเรื่องยุ่งยากมากตามที่คุณพูด
Jon Egerton

2
ผู้ใช้แอปพลิเคชันที่มีความสำคัญมากต้องการโซลูชั่นในทันทีเพื่อแก้ไขข้อผิดพลาดใด ๆ ที่เป็นอุปสรรคต่อการดำเนินธุรกิจตามปกติ กระบวนการสื่อสารทั้งหมดที่เกี่ยวข้องกับ diciplines เพียงเพื่อให้ผู้แก้ไขข้อผิดพลาดได้รับสแต็กข้อผิดพลาดได้อย่างง่ายดายสามารถใช้เวลา 1 ชั่วโมงขึ้นไปเมื่อข้อผิดพลาดเกิดขึ้นตอนดึกหรือสุดสัปดาห์
Tulains Córdova

1
@ user1598390: เห็นด้วยซึ่งในกรณีนี้การคัดลอกรายละเอียดข้อผิดพลาดไปยังกล่องจดหมายสนับสนุนที่ถูกตรวจสอบสามารถเร่งการรวบรวมข้อมูลจนถึงจุดที่เจ้าหน้าที่ฝ่ายสนับสนุนทราบว่ามีบางอย่างเสียก่อนที่ผู้ใช้จะทำ
Jon Egerton

29

ใช่มีมากมาย

การติดตามสแต็กสามารถเปิดเผยได้

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

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


6
ฉันเห็นด้วยส่วนใหญ่ แต่สิ่งเหล่านี้ไม่ควรสำคัญ ตัวอย่างเช่นอัลกอริทึมการเข้ารหัสที่คุณใช้ไม่ควรเป็นความลับในการรักษาความปลอดภัยระบบของคุณ
Oleksi

3
มันไม่สำคัญหรอก แต่โลกนั้นไม่สมบูรณ์และบ่อยครั้งที่มันเกิดขึ้น นั่นเป็นเหตุผลที่การป้องกันในเชิงลึก (ทำหลายสิ่งพร้อมกันที่ควรจะเพียงพอหากพวกเขาสมบูรณ์แบบ) เรื่อง
Kilian Foth

3
ค่อนข้างตรงไปตรงมาหากการติดตามสแต็คเปิดเผยสิ่งใดก็ตามที่สามารถช่วยผู้โจมตีได้แสดงว่าคุณทำผิดพลาด !
มาร์กบูธ

3
@ MarkBooth พูดทางสถิติคุณอาจจะทำผิด ไม่เกาว่า - ความแน่นอนทางสถิติที่คุณได้รับบางอย่างผิดปกติ คุณต้องการให้ผู้โจมตีพบข้อบกพร่องด้านความปลอดภัยของคุณก่อนหรือไม่?
AviD

1
@AviD - ไม่ฉันยอมรับเหตุผลที่น่าสนใจที่สุดที่จะไม่แสดงร่องรอยสแต็กให้กับผู้ใช้คือพวกเขาไม่รู้ว่าจะทำอย่างไรกับพวกเขาและระบบการบันทึกของคุณควรปลอดภัยและสามารถจับภาพได้มากกว่ารัฐ ของหน้าเว็บที่เคยทำได้
Mark Booth

15

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

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

ทำไมไม่ข้ามทั้งสองแหล่งที่มาของความกังวลและรับรายงานข้อยกเว้นที่ส่งถึงคุณโดยอัตโนมัติ ด้วยวิธีนี้คุณไม่จำเป็นต้องกังวลเกี่ยวกับคนที่ไม่รายงานข้อผิดพลาด


2
ผู้ใช้ประโยชน์จากการแก้ไขปัญหาของเขา / เธออย่างรวดเร็วด้วยข้อมูลที่ได้จากการติดตามสแต็ก แต่ฉันได้รับคะแนนของคุณ
Tulains Córdova

11

ดูคำถามของ IT Security SEนี้ กล่าวโดยสรุปการติดตามสแต็กสามารถให้ข้อมูลเพิ่มเติมแก่ผู้โจมตีเพื่อทำงานกับ ยิ่งผู้โจมตีมีข้อมูลมากเท่าใดก็ยิ่งมีโอกาสที่จะเจาะระบบของคุณได้มากขึ้นเท่านั้น ฉันจะไม่รักษาความปลอดภัยตามความจริงที่ว่าร่องรอยการกองซ้อนถูกซ่อนอยู่เสมอ แต่นั่นก็ไม่ได้หมายความว่าคุณควรให้ข้อมูลแก่ผู้โจมตี

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


8

คุณอาจพิจารณาไม่แสดงการติดตามสแต็กด้วยเหตุผลต่อไปนี้

ความปลอดภัย

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

ประสบการณ์ผู้ใช้

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

ชื่อเสียงของคุณ

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


6
ในฐานะนักพัฒนาซอฟต์แวร์เมื่อฉันเห็นร่องรอยสแต็คบนหน้าจอฉันทันทีว่า "นี่คือ bozo ที่ไม่รู้อะไรเลยเกี่ยวกับการจัดการกับข้อผิดพลาดใส่ใจกับพวกเขาน้อยลงและอาจจะน้อยกว่าผู้ใช้" ผู้อื่นหมุนรอบ "นี่คือซอฟต์แวร์เส็งเคร็งไม่ทำงานไม่ทำงานการจัดการข้อผิดพลาดไม่ทำงาน" และ "WTF .... ฉันไม่ได้ทำสิ่งนี้เพื่อเขา" สิ่งที่ผู้ใช้ของคุณต้องการรู้คืออะไร เขาต้องทำเพื่อแก้ไข การติดตามสแต็กทำอย่างไร
mattnz

6

คำตอบสั้น ๆ : ในเว็บไซต์เอกซ์ทราเน็ตหรืออินเทอร์เน็ตมันไม่มีเหตุผลที่จะแสดง stacktrace ในอินทราเน็ตประโยชน์ของการแสดงสแต็กเทรซเกินกว่าที่ซ่อนไว้

คำตอบยาว:

เหมือนกันเกิดขึ้นกับฉันในที่ทำงาน ฉันเคยคิดว่าหากแอปล้มเหลวก็ควรล้มเหลวอย่างเสียงดัง

แต่แล้วพวกเขาก็อธิบายให้ฉันฟังว่าแฮ็กเกอร์ที่มีศักยภาพสามารถแทรกซึมสิ่งต่างๆมากมายจากสแต็คเทรซ

ฉันคิดว่าไม่จำเป็นต้องพิสูจน์ เห็นได้ชัดว่ายิ่งแฮ็กเกอร์รู้เกี่ยวกับแพลตฟอร์มของคุณมากเท่าไหร่ก็ยิ่งดีสำหรับเขาและยิ่งแฮ็กเกอร์ที่รู้เกี่ยวกับแพลตฟอร์มของคุณดีเท่าไหร่สำหรับคุณ

บริษัท ต่างๆก็ไม่กระตือรือร้นที่จะเปิดเผยว่าแฮ็กเกอร์เจาะเข้าไปในระบบของพวกเขาอย่างไร

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


1
"ข้อดีของการรู้อย่างชัดเจนว่ามีอะไรผิดพลาด" และทำไมพวกเขาจึงไม่สามารถเรียกคืนจากไฟล์บันทึกได้ ดูเหมือนว่าด้วยอินทราเน็ตคุณสามารถเข้าถึงไฟล์บันทึกได้ง่ายกว่าไซต์ไคลเอนต์
Wonko the Sane

ในสถานการณ์สมมติของฉันมีแอปพลิเคชันที่สำคัญที่มีลำดับความสำคัญ "7/24" ฝ่ายช่วยเหลือด้านการโทรของผู้ใช้หากปัญหาคือข้อผิดพลาดหรือข้อยกเว้นของแอปพลิเคชันฝ่ายช่วยเหลือจะโทรไปยังผู้ดูแลที่อาจอยู่นอกสถานที่ ด้วยข้อมูลข้อผิดพลาดผู้เชี่ยวชาญสามารถสั่งให้บุคคลในพื้นที่ทำการแก้ไขปัญหา ... บ่อยครั้งที่เวลาที่บันทึกมีค่าหากแอปมีความสำคัญต่อธุรกิจ หากผู้เชี่ยวชาญว่าถ้านอกสถานที่มีการเชื่อมต่อกับ บริษัท ก่อนค้นหาบันทึก ฯลฯ ฟังก์ชั่นทางธุรกิจที่สำคัญอาจจะรอโดยไม่จำเป็น
Tulains Córdova

3
@ user1598390 ดังนั้นสร้างกลไกการดูบันทึก หน้าเว็บแบบง่ายป้อนรหัสเหตุการณ์และฝ่ายช่วยเหลือสามารถดูบันทึกที่เกี่ยวข้องทั้งหมด การ จำกัด การเข้าถึงหลักสูตรเพื่อคุณลักษณะนี้และอื่น ๆ ...
Avid

เพียงเพราะแอปอยู่ในอินทราเน็ตของ บริษัท ไม่ได้หมายความว่าไม่มีผู้ใช้ที่เป็นอันตรายอยู่ มีพนักงานที่ไม่พอใจมากมายที่อาจนำระบบภายในไปใช้ในทางที่ผิดเพื่อผลประโยชน์ของตนเอง เนื่องจากพนักงานเหล่านี้รู้มากเกี่ยวกับ บริษัท และนโยบายของพวกเขาจริง ๆ แล้วอาจมีอันตรายมากกว่าแฮกเกอร์ภายใน การดูไฟล์บันทึกเป็นงานที่ค่อนข้างน่าสนใจโดยเฉพาะหากคุณปฏิบัติตามแนวทางปฏิบัติที่ดีและบันทึกข้อผิดพลาดไปยังไฟล์บันทึกข้อผิดพลาดเฉพาะ
cliff.meyers

5

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

ในทางกลับกันหากจำนวนที่เกิดขึ้นจริงไม่เป็นศูนย์คุณต้องใช้ข้อมูลนี้อย่างยิ่งและไม่ควรพึ่งพาลูกค้าเพื่อส่งให้คุณ 99.99% ของเวลาที่พวกเขาจะไม่ คุณควรติดตั้งระบบ reporing ที่ส่งข้อมูลโดยอัตโนมัติโดยมีเพียง "ok" จากลูกค้า


ฉันจะ upvote คำตอบนี้สำหรับบรรทัดต่อไปนี้เพียงอย่างเดียว: "ยูทิลิตี้ของข้อมูลนี้ให้กับลูกค้าเป็นศูนย์" . รายละเอียดทางเทคนิคใด ๆ เกี่ยวกับ internals ของผลิตภัณฑ์ควรถูกซ่อนไว้เว้นแต่จะมีเหตุผลที่ดีที่จะไม่ทำเช่นนั้นด้วยเหตุผลง่ายๆของความเรียบง่ายและการใช้งานสำหรับผู้ใช้ของผลิตภัณฑ์
Kjartan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.