คำถามติดแท็ก security

สำหรับคำถามเกี่ยวกับการเข้ารหัสและความปลอดภัยด้านไอที นี่อาจเป็นความปลอดภัยของคอมพิวเตอร์เครือข่ายหรือฐานข้อมูล

7
URL ส่วนบุคคลที่ไม่สามารถคาดเดาได้นั้นเทียบเท่ากับการตรวจสอบด้วยรหัสผ่านหรือไม่
ฉันต้องการที่จะเปิดเผยทรัพยากรบนเว็บ ฉันต้องการปกป้องทรัพยากรนี้: เพื่อให้แน่ใจว่าบุคคลบางคนสามารถเข้าถึงได้เท่านั้น ฉันสามารถตั้งค่าการรับรองความถูกต้องด้วยรหัสผ่านบางประเภท ตัวอย่างเช่นฉันสามารถอนุญาตการเข้าถึงทรัพยากรผ่านเว็บเซิร์ฟเวอร์ที่ตรวจสอบคำขอขาเข้าสำหรับข้อมูลรับรองที่ถูกต้อง (อาจเทียบกับฐานข้อมูลสำรองบางส่วนของผู้ใช้) ก่อนแสดงไฟล์ อีกวิธีหนึ่งคือฉันเพียงแค่สามารถใช้URL ส่วนตัว นั่นคือฉันสามารถโฮสต์ทรัพยากรในเส้นทางที่คาดเดาไม่ได้บางตัวอย่างเช่นhttps://example.com/23idcojj20ijf...ซึ่ง จำกัด การเข้าถึงผู้ที่รู้จักสตริงที่แน่นอน จากมุมมองของผู้ชั่วร้ายที่ต้องการเข้าถึงทรัพยากรนี้วิธีการเหล่านี้เทียบเท่าหรือไม่ ถ้าไม่สิ่งที่ทำให้พวกเขาแตกต่างกันอย่างไร และเท่าที่การบำรุงรักษามีข้อดีข้อเสียของวิธีการอย่างใดอย่างหนึ่งที่ฉันควรทราบก่อนดำเนินการอย่างใดอย่างหนึ่งหรือไม่?

7
คุณได้รับการว่าจ้างให้แก้ไขข้อบกพร่องเล็ก ๆ สำหรับไซต์ที่เน้นเรื่องความปลอดภัย ดูที่รหัสนั้นเต็มไปด้วยช่องโหว่ความปลอดภัย คุณทำอะไร? [ปิด]
ฉันได้รับการว่าจ้างจากใครบางคนที่จะทำงานเล็ก ๆ บนเว็บไซต์ มันเป็นเว็บไซต์สำหรับ บริษัท ขนาดใหญ่ มันมีข้อมูลที่ละเอียดอ่อนมากดังนั้นการรักษาความปลอดภัยจึงมีความสำคัญมาก เมื่อวิเคราะห์รหัสฉันพบว่ามันเต็มไปด้วยช่องโหว่ด้านความปลอดภัย - อ่านไฟล์ PHP จำนวนมากที่ส่งผู้ใช้รับ / โพสต์เข้าสู่คำขอ mysql และคำสั่งของระบบโดยตรง ปัญหาคือคนที่สร้างเว็บไซต์ให้เขาเป็นโปรแกรมเมอร์กับครอบครัวและเด็ก ๆ ที่ต้องพึ่งพางานนั้น ฉันไม่สามารถพูดได้ว่า: "เว็บไซต์ของคุณเป็นสวนสนุกตัวเล็กสคริปต์ให้ฉันทำซ้ำสำหรับคุณและคุณจะดี" คุณจะทำอะไรในสถานการณ์นี้ ปรับปรุง: ฉันทำตามคำแนะนำที่ดีที่นี่และรายงานอย่างสุภาพต่อผู้พัฒนาว่าฉันพบข้อบกพร่องด้านความปลอดภัยที่เป็นไปได้ในไซต์ ฉันชี้ให้เห็นสายและบอกว่าอาจมีช่องโหว่ที่เป็นไปได้สำหรับการโจมตีการฉีด SQL ที่นั่นและถามว่าเขารู้เกี่ยวกับเรื่องนี้หรือไม่ เขาตอบว่า: "แน่ใจ แต่ผมคิดว่าการที่จะใช้ประโยชน์จากมันโจมตีควรมีข้อมูลเกี่ยวกับโครงสร้างของฐานข้อมูลนั้นฉันต้องเข้าใจดีกว่า" อัปเดต 2: ฉันบอกว่านั่นไม่ใช่กรณีเสมอไปและแนะนำให้เขาติดตามลิงก์คำถาม Stack Overflow นี้เพื่อจัดการกับมันอย่างถูกต้อง: จะป้องกัน SQL injection ใน PHP ได้อย่างไร? เขาบอกว่าเขาจะศึกษาและขอบคุณฉันที่บอกเขามาก่อน ฉันคิดว่าส่วนของฉันเสร็จแล้วขอบคุณพวกคุณ

3
การรักษาความปลอดภัย REST API โทเค็นที่เก็บไว้กับ JWT vs OAuth
ฉันยังคงพยายามค้นหาโซลูชันความปลอดภัยที่ดีที่สุดสำหรับปกป้อง REST API เนื่องจากจำนวนแอปพลิเคชันมือถือและ API เพิ่มขึ้นทุกวัน ฉันลองใช้วิธีการพิสูจน์ตัวตนแบบต่างๆ แต่ยังมีความเข้าใจผิดอยู่บ้างดังนั้นฉันต้องการคำแนะนำจากคนที่มีประสบการณ์มากกว่า ให้ฉันบอกว่าฉันเข้าใจทุกสิ่งนี้ได้อย่างไร หากฉันเข้าใจบางสิ่งผิดพลาดโปรดแจ้งให้เราทราบ เท่าที่ REST API นั้นไร้สัญชาติเช่นเดียวกับเว็บโดยทั่วไปเราจำเป็นต้องส่งข้อมูลรับรองความถูกต้องในแต่ละคำขอ (คุกกี้โทเค็น .... ) ฉันรู้สามกลไกที่ใช้กันอย่างแพร่หลายในการตรวจสอบผู้ใช้ โทเค็นด้วย HTTPS ฉันใช้วิธีนี้หลายครั้งดีพอกับ HTTPS หากผู้ใช้ระบุรหัสผ่านที่ถูกต้องและเข้าสู่ระบบเขาจะได้รับโทเค็นตอบสนองและจะใช้สำหรับการร้องขอเพิ่มเติม โทเค็นถูกสร้างขึ้นโดยเซิร์ฟเวอร์และเก็บไว้เช่นในตารางแยกกันหรือที่เก็บข้อมูลผู้ใช้ ดังนั้นสำหรับแต่ละเซิร์ฟเวอร์คำขอจะตรวจสอบว่าผู้ใช้มีโทเค็นหรือไม่และเหมือนกับในฐานข้อมูล ทุกอย่างตรงไปตรงมาสวย โทเค็น JWT โทเค็นนี้เป็นการอธิบายตนเองประกอบด้วยข้อมูลที่จำเป็นทั้งหมดเกี่ยวกับโทเค็นผู้ใช้ไม่สามารถเปลี่ยนแปลงได้เช่นวันหมดอายุหรือการอ้างสิทธิ์อื่น ๆ เนื่องจากโทเค็นนี้สร้างขึ้น (ลงชื่อ) โดยเซิร์ฟเวอร์ที่มีคีย์เวิร์ดลับ นี่ก็ชัดเจน แต่ปัญหาใหญ่อย่างหนึ่งส่วนตัวสำหรับฉันวิธีทำให้โทเค็นเป็นโมฆะ OAuth 2. ฉันไม่เข้าใจว่าทำไมควรใช้วิธีการนี้เมื่อมีการสื่อสารโดยตรงระหว่างเซิร์ฟเวอร์กับลูกค้า เท่าที่ฉันเข้าใจเซิร์ฟเวอร์ OAuth ใช้ในการออกโทเค็นที่มีขอบเขต จำกัด เพื่ออนุญาตให้แอปพลิเคชันอื่นเข้าถึงข้อมูลผู้ใช้โดยไม่ต้องเก็บรหัสผ่านและการเข้าสู่ระบบ นี่เป็นโซลูชันที่ยอดเยี่ยมสำหรับเครือข่ายสังคมเมื่อผู้ใช้ต้องการลงทะเบียนในบางหน้าเซิร์ฟเวอร์สามารถขอสิทธิ์ในการรับข้อมูลผู้ใช้เช่นจาก twitter หรือ facebook และกรอกข้อมูลลงทะเบียนด้วยข้อมูลผู้ใช้และอื่น ๆ พิจารณาลูกค้ามือถือสำหรับร้านค้าออนไลน์ …
104 security  rest  api  oauth  https 

8
วิธีปกป้อง REST API สำหรับแอปพลิเคชันมือถือที่เชื่อถือได้เท่านั้น
ฉันจะแน่ใจได้อย่างไรว่า REST API ของฉันตอบสนองต่อคำขอที่สร้างโดยลูกค้าที่เชื่อถือได้เท่านั้นในกรณีของฉันเป็นแอปพลิเคชันมือถือของฉันเอง ฉันต้องการป้องกันคำขอที่ไม่ต้องการมาจากแหล่งอื่น ฉันไม่ต้องการให้ผู้ใช้กรอกรหัสซีเรียลหรืออะไรก็ตามมันควรจะเกิดขึ้นหลังฉากเมื่อติดตั้งและไม่ต้องมีการโต้ตอบกับผู้ใช้ เท่าที่ฉันทราบ HTTPS เป็นเพียงการตรวจสอบความถูกต้องของเซิร์ฟเวอร์ที่คุณสื่อสารด้วย ฉันกำลังจะใช้ HTTPS เพื่อเข้ารหัสข้อมูล มีวิธีการทำสิ่งนี้หรือไม่? อัปเดต: ผู้ใช้สามารถดำเนินการแบบอ่านอย่างเดียวซึ่งไม่ต้องการให้ผู้ใช้ลงชื่อเข้าใช้ แต่ยังสามารถทำการเขียนได้ซึ่งผู้ใช้ต้องลงชื่อเข้าใช้ (การรับรองความถูกต้องโดย Access Token) ในทั้งสองกรณีฉันต้องการให้ API ตอบกลับคำขอที่มาจากแอปพลิเคชันมือถือที่เชื่อถือได้เท่านั้น API จะใช้สำหรับการลงทะเบียนบัญชีใหม่ผ่านแอปพลิเคชันมือถือ อัปเดต 2:ดูเหมือนว่ามีคำตอบมากมายสำหรับเรื่องนี้ แต่ฉันก็ไม่รู้เหมือนกันว่าจะตอบคำตอบแบบใด บางคนบอกว่าสามารถทำได้บางคนบอกว่าทำไม่ได้
96 security  rest  mobile 

7
หุ่นยนต์สามารถเอาชนะ CAPTCHAs ได้อย่างไร
ฉันมีแบบฟอร์มอีเมลเว็บไซต์ ฉันใช้ CAPTCHA ที่กำหนดเองเพื่อป้องกันสแปมจากหุ่นยนต์ อย่างไรก็ตามเรื่องนี้ฉันยังได้รับจดหมายขยะ ทำไม? หุ่นยนต์เอาชนะ CAPTCHA ได้อย่างไร พวกเขาใช้ OCR ขั้นสูงบางประเภทหรือเพียงแค่หาวิธีแก้ปัญหาจากที่เก็บไว้? ฉันจะป้องกันสิ่งนี้ได้อย่างไร ฉันควรเปลี่ยนเป็น CAPTCHA ประเภทอื่นหรือไม่ ฉันแน่ใจว่าอีเมลนั้นมาจากฟอร์มเนื่องจากส่งจากผู้ส่งอีเมลของฉันที่ให้บริการข้อความฟอร์ม สไตล์ของจดหมายก็เหมือนกัน สำหรับบันทึกฉันใช้ PHP + MySQL แต่ฉันไม่ได้ค้นหาวิธีแก้ไขปัญหานี้ ฉันสนใจสถานการณ์ทั่วไปว่าหุ่นยนต์เอาชนะเทคโนโลยีเหล่านี้ได้อย่างไร ฉันเพิ่งบอกสถานการณ์นี้เป็นตัวอย่างเพื่อให้คุณสามารถเข้าใจได้ดียิ่งขึ้นในสิ่งที่ฉันถาม
84 security  captcha 

17
ซอฟต์แวร์จะได้รับการปกป้องจากการละเมิดลิขสิทธิ์ได้อย่างไร
ทำไมการละเมิดลิขสิทธิ์ในวันนี้จึงเป็นเรื่องง่าย ดูเหมือนยากที่จะเชื่อว่าด้วยความก้าวหน้าทางเทคโนโลยีของเราและการใช้จ่ายด้านวิศวกรรมเป็นซอฟต์แวร์ที่ไม่น่าเชื่อและน่าเหลือเชื่อที่สุดเราใช้วิธีการป้องกันการละเมิดลิขสิทธิ์มากกว่า "หมายเลขซีเรียล / รหัสเปิดใช้งาน" " ฉันแน่ใจว่าเงินเป็นล้านหรืออาจเป็นพันล้านสร้างเป็น Windows 7 หรือ Office และแม้แต่ Snow Leopard แต่ฉันสามารถรับได้ฟรีในเวลาไม่ถึง 20 นาที เหมือนกันกับผลิตภัณฑ์ทั้งหมดของ Adobe ซึ่งอาจจะง่ายที่สุด มีวิธีป้องกันคนโง่และป้องกันการแฮ็กในการป้องกันซอฟต์แวร์ของคุณจากการละเมิดลิขสิทธิ์หรือไม่? หากไม่เป็นจริงเป็นไปได้ในทางทฤษฎีวิธีการเกี่ยวกับ? หรือไม่ว่ากลไกใดที่ บริษัท เหล่านี้ปรับใช้แฮกเกอร์สามารถหาวิธีแก้ไขได้เสมอ
76 security 

15
มีเหตุผลใดที่จะไม่ไปจาก Javascript ฝั่งไคลเอ็นต์โดยตรงกับฐานข้อมูลหรือไม่?
สำเนาซ้ำที่เป็นไปได้: เขียนแอปพลิเคชัน“ เซิร์ฟเวอร์น้อยกว่า” บนเว็บ ดังนั้นสมมติว่าฉันจะสร้างโคลน Exchange Stack และฉันตัดสินใจที่จะใช้สิ่งที่ต้องการ CouchDB เป็นที่เก็บแบ็กเอนด์ของฉัน หากฉันใช้การพิสูจน์ตัวตนในตัวและการอนุญาตระดับฐานข้อมูลมีเหตุผลใดที่จะไม่อนุญาตให้ Javascript ฝั่งไคลเอ็นต์เขียนโดยตรงไปยังเซิร์ฟเวอร์ CouchDB ที่เปิดเผยสู่สาธารณะ เนื่องจากนี่เป็นแอปพลิเคชั่น CRUD และตรรกะทางธุรกิจประกอบด้วย "ผู้เขียนเท่านั้นที่สามารถแก้ไขโพสต์ของพวกเขา" ฉันไม่เห็นความต้องการมากที่จะมีเลเยอร์ระหว่างสิ่งที่ฝั่งไคลเอ็นต์และฐานข้อมูล ฉันเพียงแค่ใช้การตรวจสอบด้าน CouchDB เพื่อให้แน่ใจว่าไม่มีใครใส่ข้อมูลขยะและตรวจสอบให้แน่ใจว่ามีการตั้งค่าการอนุญาตอย่างถูกต้องเพื่อให้ผู้ใช้สามารถอ่านข้อมูล _user ของตนเองได้ การเรนเดอร์จะทำได้โดยฝั่งไคลเอ็นต์โดยบางสิ่งเช่น AngularJS โดยพื้นฐานแล้วคุณสามารถมีเซิร์ฟเวอร์ CouchDB และหน้าแบบ "คงที่" และคุณก็พร้อมที่จะไป คุณไม่จำเป็นต้องมีการประมวลผลด้านเซิร์ฟเวอร์ใด ๆ เพียงแค่สิ่งที่สามารถแสดงหน้า HTML ได้ การเปิดฐานข้อมูลของฉันสู่โลกดูเหมือนผิด แต่ในสถานการณ์นี้ฉันไม่สามารถคิดได้ว่าทำไมตราบใดที่การตั้งค่าการอนุญาตถูกต้อง มันขัดกับสัญชาตญาณของฉันในฐานะนักพัฒนาเว็บ แต่ฉันไม่สามารถคิดได้ด้วยเหตุผลที่ดี เหตุใดจึงเป็นความคิดที่ไม่ดี แก้ไข: ดูเหมือนว่ามีการสนทนาที่คล้ายกันที่นี่: การเขียนเว็บ "เซิร์ฟเวอร์น้อยกว่า" แอปพลิเคชัน แก้ไข: การอภิปรายที่น่าประทับใจจนถึงตอนนี้และฉันขอขอบคุณข้อเสนอแนะของทุกคน! ฉันรู้สึกว่าฉันควรเพิ่มสมมติฐานทั่วไปสองสามข้อแทนที่จะเรียกเฉพาะ …

14
ทำไมกลไกการป้องกันการฉีด SQL ถึงวิวัฒนาการไปในทิศทางของการใช้คิวรีแบบพารามิเตอร์
วิธีที่ฉันเห็นการโจมตีด้วยการฉีด SQL สามารถป้องกันได้โดย: คัดกรองกรองเข้ารหัสการป้อนข้อมูลอย่างระมัดระวัง (ก่อนแทรกลงใน SQL) การใช้คำสั่งที่เตรียมไว้ / แบบสอบถามแบบใช้พารามิเตอร์ ฉันคิดว่ามีข้อดีข้อเสียสำหรับแต่ละข้อ แต่เหตุใด # 2 จึงถูกถอดออกและได้รับการพิจารณาว่ามีวิธีการป้องกันการฉีดยามากหรือน้อย มันปลอดภัยกว่าและมีแนวโน้มที่จะเกิดข้อผิดพลาดน้อยลงหรือมีปัจจัยอื่น ๆ อีกหรือไม่? ตามที่ฉันเข้าใจถ้าใช้ # 1 อย่างถูกต้องและข้อควรระวังทั้งหมดได้รับการดูแลมันจะมีประสิทธิภาพเท่ากับ # 2 ฆ่าเชื้อโรคกรองและเข้ารหัส มีความสับสนในส่วนของฉันระหว่างสิ่งที่เป็นฆ่าเชื้อ , การกรองและการเข้ารหัสความหมาย ฉันจะบอกว่าสำหรับวัตถุประสงค์ของฉันทั้งหมดข้างต้นสามารถพิจารณาตัวเลือก 1. ในกรณีนี้ผมเข้าใจว่าการฆ่าเชื้อและการกรองมีศักยภาพในการแก้ไขหรือยกเลิกการป้อนข้อมูลในขณะที่การเข้ารหัสจะเก็บรักษาข้อมูลตามที่เป็นแต่ถอดรหัส อย่างถูกต้องเพื่อหลีกเลี่ยงการโจมตีของการฉีด ฉันเชื่อว่าการหลีกเลี่ยงข้อมูลถือได้ว่าเป็นวิธีการเข้ารหัส พารามิเตอร์การสืบค้นเทียบกับการเข้ารหัสห้องสมุด มีคำตอบที่แนวคิดของparameterized queriesและencoding librariesที่ได้รับการปฏิบัติแทนกันได้ แก้ไขฉันถ้าฉันผิด แต่ฉันรู้สึกว่าแตกต่างกัน ความเข้าใจของฉันคือว่าencoding librariesไม่ว่าพวกเขาจะมีศักยภาพในการปรับเปลี่ยน SQL "โปรแกรม" ได้ดีเพียงใดเพราะพวกเขากำลังทำการเปลี่ยนแปลง SQL เองก่อนที่มันจะถูกส่งไปยัง RDBMS Parameterized queries ในอีกทางหนึ่งส่งโปรแกรม SQL …

9
ทำไมไม่เปิดเผยคีย์หลัก
ในการศึกษาของฉันฉันได้รับแจ้งว่าเป็นความคิดที่ไม่สมบูรณ์ที่จะเปิดเผยคีย์หลักที่แท้จริง (ไม่เพียง แต่คีย์ DB แต่ผู้เข้าถึงหลักทั้งหมด) ให้กับผู้ใช้ ฉันคิดเสมอว่าเป็นปัญหาด้านความปลอดภัย (เพราะผู้โจมตีสามารถพยายามอ่านสิ่งที่ไม่ใช่ของตนเอง) ตอนนี้ฉันต้องตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้เข้าถึงหรือไม่มีเหตุผลอื่นอีกหรือไม่ นอกจากนี้เนื่องจากผู้ใช้ของฉันต้องเข้าถึงข้อมูลต่อไปฉันจะต้องมีรหัสสาธารณะสำหรับโลกภายนอกที่ใดที่หนึ่ง ตอนนี้รหัสสาธารณะมีปัญหาเช่นเดียวกับคีย์หลักใช่ไหม มีการร้องขอตัวอย่างเกี่ยวกับสาเหตุที่ทำเช่นนั้นดังนั้นนี่คือตัวอย่าง โปรดจำไว้ว่าคำถามนั้นมีความหมายเกี่ยวกับหลักการนั้นไม่เพียง แต่จะนำไปใช้ในตัวอย่างนี้เท่านั้น คำตอบที่กล่าวถึงสถานการณ์อื่น ๆ ยินดีต้อนรับอย่างชัดเจน แอปพลิเคชัน (เว็บมือถือ) ที่จัดการกิจกรรมมี UIs หลายตัวและอย่างน้อยหนึ่ง API อัตโนมัติสำหรับการสื่อสารระหว่างระบบ (eG แผนกบัญชีต้องการทราบว่าจะเรียกเก็บเงินจากลูกค้ามากน้อยเพียงใดจากสิ่งที่ทำ) แอปพลิเคชันมีลูกค้าหลายรายดังนั้นการแยกข้อมูลของพวกเขา (อย่างมีเหตุผลข้อมูลจะถูกเก็บไว้ในฐานข้อมูลเดียวกัน) เป็นสิ่งที่ต้องมีในระบบ คำขอแต่ละรายการจะถูกตรวจสอบความถูกต้องไม่ว่าจะเกิดอะไรขึ้น กิจกรรมนั้นละเอียดมากดังนั้นมันจึงอยู่รวมกันในวัตถุคอนเทนเนอร์บางตัวให้เรียกมันว่า "งาน" สาม usecases: ผู้ใช้ A ต้องการส่งผู้ใช้ B ไปยังงานบางอย่างดังนั้นเขาจึงส่งลิงก์ (HTTP) ให้เขาเพื่อให้กิจกรรมเสร็จสิ้นที่นั่น ผู้ใช้ B ต้องออกไปข้างนอกอาคารเพื่อเปิด Task บนอุปกรณ์มือถือ การบัญชีต้องการเรียกเก็บเงินจากลูกค้าสำหรับงาน แต่ใช้ระบบบัญชีบุคคลที่สามที่โหลดงาน / กิจกรรมโดยอัตโนมัติด้วยรหัสบางอย่างที่อ้างถึง …

8
ทำไมเกือบจะไม่มีหน้าแฮรหัสผ่านในไคลเอนต์ก่อนที่จะส่ง (และ hashing พวกเขาอีกครั้งบนเซิร์ฟเวอร์) เพื่อ“ ป้องกัน” จากการใช้รหัสผ่านซ้ำ?
มีเว็บไซต์จำนวนมากบนอินเทอร์เน็ตที่ต้องการข้อมูลการเข้าสู่ระบบและวิธีเดียวที่จะป้องกันการใช้รหัสผ่านซ้ำคือ "สัญญา" ว่ารหัสผ่านจะถูกแฮชบนเซิร์ฟเวอร์ซึ่งไม่ได้เป็นจริงเสมอไป ดังนั้นฉันจึงสงสัยว่าการสร้างหน้าเว็บที่แฮชรหัสผ่านในคอมพิวเตอร์ไคลเอนต์ (ด้วย Javascript) นั้นมีความยากขนาดไหนก่อนส่งไปยังเซิร์ฟเวอร์ซึ่งจะถูกแฮชอีกครั้ง ในทางทฤษฎีสิ่งนี้ไม่ได้ให้ความปลอดภัยเป็นพิเศษ แต่ในทางปฏิบัติสิ่งนี้สามารถใช้เพื่อป้องกัน "ไซต์หลอกลวง" ที่ไม่ใช้รหัสผ่านของคุณในเซิร์ฟเวอร์

7
การติดตามสแต็คควรอยู่ในข้อความแสดงข้อผิดพลาดที่ปรากฏแก่ผู้ใช้หรือไม่
ฉันมีข้อโต้แย้งเล็กน้อยในที่ทำงานของฉันและฉันพยายามคิดออกว่าใครถูกและสิ่งที่ถูกต้องคืออะไร บริบท: เว็บแอปพลิเคชันอินทราเน็ตที่ลูกค้าของเราใช้สำหรับการบัญชีและสิ่ง ERP อื่น ๆ ฉันเห็นว่าข้อความแสดงข้อผิดพลาดที่นำเสนอต่อผู้ใช้ (เมื่อเกิดข้อผิดพลาด) ควรมีข้อมูลให้มากที่สุดรวมถึงการติดตามสแต็ก แน่นอนว่าต้องเริ่มต้นด้วยดี "มีข้อผิดพลาดเกิดขึ้นโปรดส่งข้อมูลด้านล่างไปยังผู้พัฒนา" ด้วยตัวอักษรขนาดใหญ่ที่เป็นมิตร เหตุผลของฉันคือภาพหน้าจอของแอปพลิเคชันที่ขัดข้องมักจะเป็นแหล่งข้อมูลที่หาได้ง่ายเท่านั้น แน่นอนว่าคุณสามารถลองควบคุมผู้ดูแลระบบของลูกค้าพยายามอธิบายว่าไฟล์บันทึกของคุณอยู่ที่ไหน ฯลฯ แต่นั่นอาจจะช้าและเจ็บปวด (การพูดคุยกับตัวแทนลูกค้าส่วนใหญ่) นอกจากนี้การมีข้อมูลที่ครบถ้วนและเป็นประโยชน์อย่างยิ่งในการพัฒนาซึ่งคุณไม่จำเป็นต้องค้นหาไฟล์บันทึกเพื่อค้นหาสิ่งที่คุณต้องการในทุก ๆ ข้อยกเว้น (แต่นั่นสามารถแก้ไขได้ด้วยสวิตช์การกำหนดค่า) น่าเสียดายที่มี "การตรวจสอบความปลอดภัย" บางประเภท (ไม่รู้เลยว่าพวกเขาทำอย่างไรโดยไม่มีแหล่งที่มา ... แต่ไม่ว่าอะไรก็ตาม) และพวกเขาก็บ่นเกี่ยวกับข้อความยกเว้นทั้งหมดที่อ้างว่าเป็นภัยคุกคามความปลอดภัย ตามปกติแล้วลูกค้า (อย่างน้อยหนึ่งคนที่ฉันรู้จัก) ได้ทำสิ่งนี้ตามมูลค่าที่กำหนดและตอนนี้ต้องการให้มีการล้างข้อความ ฉันล้มเหลวในการดูว่าผู้โจมตีที่มีศักยภาพสามารถใช้กองติดตามเพื่อค้นหาสิ่งที่เขาไม่สามารถหามาก่อน มีตัวอย่างใดบ้างมีหลักฐานรับรองว่าใครเคยทำเช่นนั้นบ้าง? ฉันคิดว่าเราควรต่อสู้กับความคิดที่โง่เขลา แต่บางทีฉันอาจเป็นคนโง่ที่นี่ดังนั้น ... ถูกต้องใคร

2
การควบคุมการเข้าถึงตามบทบาทที่ได้รับอนุญาต
ฉันพยายามที่จะเข้าใจถึงการแลกเปลี่ยนระหว่างบทบาทและสิทธิ์ต่าง ๆ เมื่อพูดถึงการควบคุมการเข้าถึง (การอนุญาต) เริ่มจากสิ่งที่กำหนดไว้: ในระบบของเราการอนุญาตจะเป็นหน่วยการเข้าถึงที่ละเอียด (" แก้ไขทรัพยากร X ", " เข้าถึงหน้าแดชบอร์ด " ฯลฯ ) บทบาทจะเป็นคอลเลกชันของ 1+ สิทธิ์ ผู้ใช้สามารถมีบทบาท 1+ ความสัมพันธ์เหล่านี้ทั้งหมด (ผู้ใช้, บทบาท, การอนุญาต) จะถูกเก็บไว้ในฐานข้อมูลและสามารถเปลี่ยนแปลงได้ทันทีและตามความจำเป็น ความกังวลของฉัน: (1) "เลวร้าย" เกี่ยวกับการตรวจสอบบทบาทสำหรับการควบคุมการเข้าถึงอย่างไร จะได้ประโยชน์อะไรบ้างจากการตรวจสอบการอนุญาตแทน กล่าวอีกนัยหนึ่งอะไรคือความแตกต่างระหว่างตัวอย่างโค้ดด้านล่าง: if(SecurityUtils.hasRole(user)) { // Grant them access to a feature } // vs. if(SecurityUtils.hasPermission(user)) { // Grant them access to …

13
มีความปลอดภัยแค่ไหนในการรวบรวมซอร์สโค้ดจากคนแปลกหน้าแบบสุ่ม? [ปิด]
สมมติว่าฉันกำลังตรวจสอบรหัสที่ผู้สมัครงานส่งเพื่อพิสูจน์ทักษะของพวกเขา เห็นได้ชัดว่าฉันไม่ต้องการเรียกใช้โปรแกรมปฏิบัติการที่พวกเขาส่ง ไม่ชัดเจนฉันไม่ต้องการเรียกใช้ผลลัพธ์ของการคอมไพล์รหัสของพวกเขา (ตัวอย่างเช่นJava อนุญาตให้ซ่อนโค้ดที่รันได้ในความคิดเห็น ) สิ่งที่เกี่ยวกับการรวบรวมรหัสของพวกเขา? ฉันต้องการคอมไพเลอร์คำเตือนถ้ามี แต่จะเกิดอะไรขึ้นถ้ารหัสของพวกเขามีลำดับตัวละครที่ฉลาดซึ่งใช้ประโยชน์จากคอมไพเลอร์ของฉันและคอมไพเลอร์ของฉันประนีประนอมเครื่องของฉัน? เมื่อฉันใช้ Google สำหรับ "ช่องโหว่ของคอมไพเลอร์" ความนิยมที่ฉันได้รับนั้นเกี่ยวกับการเพิ่มประสิทธิภาพคอมไพเลอร์และการปล่อยโค้ดและว่าโค้ดที่ปล่อยออกมานั้นปลอดภัยพอ ๆ กับซอร์สโค้ดดั้งเดิมหรือไม่ โดยทั่วไปแล้วคอมไพเลอร์จะได้รับการตรวจสอบเพื่อให้แน่ใจว่าพวกเขาจะไม่ประนีประนอมเครื่องของผู้ใช้เมื่อทำการรวบรวมโค้ดที่ฉลาด การรวบรวมโค้ดจากคนแปลกหน้าปลอดภัยแค่ไหน?

9
กำลังมองหาอาร์กิวเมนต์ที่มีความหมายและแข็งแกร่งในความโปรดปรานของซอฟต์แวร์ป้องกันไวรัสในเครื่องพัฒนา [ปิด]
เมื่อสร้างความคิดเห็นเป็นวิธีปฏิบัติที่ดีในการทำตามประเพณีของนักวิชาการ - คิดให้หนักที่สุดเท่าที่จะทำได้เพื่อต่อต้านความคิดเห็นที่คุณมีและพยายามหาข้อโต้แย้ง อย่างไรก็ตามไม่ว่าฉันจะพยายามอย่างหนักเพียงใดฉันก็ไม่สามารถหาข้อโต้แย้งที่สมเหตุสมผลในแง่ของการป้องกันไวรัส (และมาตรการรักษาความปลอดภัยที่เกี่ยวข้อง) ในเครื่องพัฒนา ข้อโต้แย้งต่อ Antivirus (AV) ในการพัฒนามีมากมาย: ไม่ใช่เรื่องผิดปกติสำหรับการสร้าง 1 นาทีเพื่อให้ใช้งานได้นานขึ้น 10 เท่าเมื่อเปิด AV ในการพูดคุยในการประชุมนักพัฒนา IntelliJ อ้างว่าซอฟต์แวร์ AV เป็นที่ต้องสงสัยอันดับ 1 เมื่อ IDE ของพวกเขาซบเซา การคลายซิปมาพร้อมกับความเร็วประมาณ 100 kb / s ด้วย AV on AV แสดงผล Cygwin ไม่สามารถใช้งานได้อย่างสมบูรณ์ (vim ใช้เวลา 1 นาทีในการเปิดไฟล์ง่าย ๆ ) AV บล็อกฉันจากการดาวน์โหลดไฟล์ที่มีประโยชน์ (JARs, DLLs) จากอีเมลของเพื่อนร่วมงาน ฉันไม่สามารถใช้คอมพิวเตอร์หลายเครื่องเพื่อการพัฒนาได้เนื่องจาก AV …

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.