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

การรับรองความถูกต้องเป็นกระบวนการของการตรวจสอบตัวตน

8
เกลือและแฮชรหัสผ่านใน Python
รหัสนี้ควรจะแฮชรหัสผ่านด้วยเกลือ กำลังบันทึกเกลือและรหัสผ่านที่แฮชไว้ในฐานข้อมูล รหัสผ่านไม่ได้ ด้วยลักษณะที่ละเอียดอ่อนของการดำเนินการฉันต้องการให้แน่ใจว่าทุกอย่างเป็นโคเชอร์ import hashlib import base64 import uuid password = 'test_password' salt = base64.urlsafe_b64encode(uuid.uuid4().bytes) t_sha = hashlib.sha512() t_sha.update(password+salt) hashed_password = base64.urlsafe_b64encode(t_sha.digest())

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

11
แนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยส่วนผู้ดูแลระบบของเว็บไซต์คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน8 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันต้องการทราบว่าผู้คนพิจารณาแนวทางปฏิบัติที่ดีที่สุดในการรักษาความปลอดภัยส่วนผู้ดูแลระบบของเว็บไซต์โดยเฉพาะจากมุมมองการตรวจสอบสิทธิ์ / การเข้าถึง แน่นอนว่ามีสิ่งที่ชัดเจนเช่นการใช้ SSL และการบันทึกการเข้าถึงทั้งหมด แต่ฉันสงสัยว่าขั้นตอนพื้นฐานเหล่านี้อยู่ที่ใดที่ผู้คนพิจารณาว่าจะตั้งค่าแถบ ตัวอย่างเช่น: คุณอาศัยกลไกการตรวจสอบสิทธิ์แบบเดียวกับที่คุณใช้สำหรับผู้ใช้ทั่วไปหรือไม่? ถ้าไม่ได้อะไร? คุณเรียกใช้ส่วนผู้ดูแลระบบใน "โดเมนแอปพลิเคชัน" เดียวกันหรือไม่ คุณต้องทำขั้นตอนใดบ้างเพื่อทำให้ส่วนผู้ดูแลระบบไม่ถูกค้นพบ (หรือคุณปฏิเสธสิ่งที่ 'ปิดบัง' ทั้งหมด) จนถึงตอนนี้คำแนะนำจากผู้ตอบ ได้แก่ : แนะนำการหยุดชั่วคราวฝั่งเซิร์ฟเวอร์เทียมในการตรวจสอบรหัสผ่านของผู้ดูแลระบบแต่ละครั้งเพื่อป้องกันการโจมตีแบบดุร้าย[Developer Art] ใช้หน้าการเข้าสู่ระบบแยกกันสำหรับผู้ใช้และผู้ดูแลระบบโดยใช้ตาราง DB เดียวกัน (เพื่อหยุด XSRF และการขโมยเซสชันที่ให้สิทธิ์เข้าถึงพื้นที่ผู้ดูแลระบบ) [Thief Master] ลองเพิ่มการตรวจสอบสิทธิ์แบบเนทีฟของเว็บเซิร์ฟเวอร์ในพื้นที่ผู้ดูแลระบบด้วย (เช่นผ่าน. htaccess) [Thief Master] พิจารณาบล็อก IP ของผู้ใช้หลังจากพยายามเข้าสู่ระบบของผู้ดูแลระบบที่ล้มเหลวหลายครั้ง[Thief Master] เพิ่ม …

17
PHP เซสชันข้ามโดเมนย่อย
ฉันกำลังพยายามตั้งค่าสิ่งต่อไปนี้: auth.example.com sub1.example.com sub2.example.com หากผู้ใช้เข้าเยี่ยมชมsub1.example.comหรือsub2.example.comไม่ได้ลงชื่อเข้าใช้ระบบจะเปลี่ยนเส้นทางไปยังauth.example.comและเข้าสู่ระบบได้ sub1.example.comและsub2.example.comเป็นแอปพลิเคชั่นสองตัวที่แยกจากกัน แต่ใช้ข้อมูลประจำตัวเดียวกัน ฉันลองตั้งค่าต่อไปนี้ใน php.ini ของฉัน: session.cookie_domain = ".example.com" แต่ดูเหมือนจะไม่ส่งข้อมูลจากโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง [แก้ไข] ฉันลองทำสิ่งต่อไปนี้: sub1.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Regsitered'] = 1; echo '<a href="http://auth.example.com/test.php">Change Sites</a>' auth.example.com/test.php session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION); รหัสเซสชันเหมือนกัน$_SESSIONทุกประการแต่เมื่อฉันทิ้งตัวแปรมันจะไม่แสดงทั้งสองคีย์ไม่ว่าจะเป็นคีย์ใดก็ตามที่ฉันตั้งค่าไว้ในแต่ละโดเมน

18
Laravel: Auth :: user () -> id พยายามรับคุณสมบัติของ non-object
ฉันได้รับข้อผิดพลาดต่อไปนี้ "พยายามรับคุณสมบัติที่ไม่ใช่วัตถุ" เมื่อฉันส่งแบบฟอร์มเพื่อเพิ่มผู้ใช้ข้อผิดพลาดปรากฏในบรรทัดแรก: Auth :: user () -> id ของรายการต่อไปนี้ : $id = Auth::user()->id; $currentuser = User::find($id); $usergroup = $currentuser->user_group; $group = Sentry::getGroupProvider()->findById($usergroup); $generatedPassword = $this->_generatePassword(8,8); $user = Sentry::register(array('email' => $input['email'], 'password' => $generatedPassword, 'user_group' => $usergroup)); $user->addGroup($group); ความคิดใด ๆ ? ฉันค้นหามาระยะหนึ่งแล้วและทุกสิ่งที่ฉันเห็นบอกว่ามันน่าจะใช้ได้ดี ผู้ใช้ของฉันเข้าสู่ระบบโดยใช้ชุดการพิสูจน์ตัวตน Sentry 2

2
มิดเดิลแวร์การพิสูจน์ตัวตน ASP.NET Core 2.0
ด้วย Core 1.1 ตามคำแนะนำของ @ blowdart และใช้มิดเดิลแวร์ที่กำหนดเอง: https://stackoverflow.com/a/31465227/29821 มันทำงานเช่นนี้: มิดเดิลแวร์วิ่ง เลือกโทเค็นจากส่วนหัวของคำขอ ตรวจสอบโทเค็นและหากถูกต้องสร้างข้อมูลประจำตัว (ClaimsIdentity) ที่มีการอ้างสิทธิ์หลายรายการซึ่งเพิ่มผ่าน HttpContext.User.AddIdentity (); ใน ConfigureServices โดยใช้บริการ AddAuthorization ฉันได้เพิ่มนโยบายเพื่อต้องการการอ้างสิทธิ์ที่มาจากมิดเดิลแวร์ ในตัวควบคุม / การดำเนินการฉันจะใช้ [Authorize (Roles = "some role that the middleware added")] สิ่งนี้ใช้ได้กับ 2.0 บ้างยกเว้นว่าหากโทเค็นไม่ถูกต้อง (ขั้นตอนที่ 2 ด้านบน) และไม่มีการเพิ่มการอ้างสิทธิ์ฉันได้รับ "ไม่ได้ระบุการตรวจสอบความถูกต้องและไม่พบ DefaultChallengeScheme" ตอนนี้ฉันกำลังอ่านการรับรองความถูกต้องที่เปลี่ยนแปลงใน 2.0: https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/identity-2x อะไรคือเส้นทางที่ถูกต้องสำหรับฉันในการทำสิ่งเดียวกันใน ASP.NET Core 2.0 ฉันไม่เห็นตัวอย่างในการตรวจสอบสิทธิ์แบบกำหนดเองอย่างแท้จริง

14
Sourcetree remote: ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง
ฉันพยายามส่งไปที่ github ด้วย sourcetree แต่ได้รับข้อผิดพลาดต่อไปนี้: git -c diff.mnemonicprefix = false -c core.quotepath = false push -v - แท็กที่มา live_version: live_version remote: ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง ร้ายแรง: การตรวจสอบความถูกต้องล้มเหลวสำหรับ " https://github.com/myname/myrepo/ " ส่งไปที่ https://github.com/myname/myrepo เสร็จสมบูรณ์โดยมีข้อผิดพลาดดูด้านบน อย่างไรก็ตามเมื่อไปที่ เครื่องมือ> การรับรองความถูกต้อง> บัญชี github ของฉัน แล้วคลิกแก้ไข> รีเฟรชโทเค็น oauth เพจจะเปิดขึ้นและฉันได้รับ: การรับรองความถูกต้องสำเร็จ SourceTree has been successfully authenticated. You may now close …

6
ฉันจะดูรายการ URL ของผู้ให้บริการ OpenID ได้ที่ไหน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดเมื่อ4 เดือนที่แล้ว . ปรับปรุงคำถามนี้ ฉันติดตั้ง OpenID บนเว็บไซต์ของฉันแล้ว แต่ฉันหารายชื่อ URL ของผู้ให้บริการ OpenID ได้ยาก ฉันคิดว่าสิ่งนี้จะหาได้ง่าย แต่ฉันได้สำรวจเว็บและพบเพียงไม่กี่คนส่วนใหญ่เกิดจากอุบัติเหตุ มีแหล่งข้อมูลที่แสดงรายการผู้ให้บริการที่พร้อมใช้งานและ URL การตรวจสอบสิทธิ์หรือไม่ แก้ไข: นี่คือสิ่งที่ฉันพบจนถึงตอนนี้ ฉันยังไม่ได้ลองทั้งหมดโปรดแจ้งให้เราทราบหากมีข้อผิดพลาด StackExchange https://openid.stackexchange.com Google https://www.google.com/accounts/o8/id - เลิกใช้งานในเดือนพฤษภาคม 2014 - ปิดตัวลงในเดือนเมษายน 2015 Yahoo https://me.yahoo.com Flickr http://www.flickr.com/username AOL http://openid.aol.com/username Blogspot https://www.blogspot.com/ LiveJournal http://username.livejournal.com/ Wordpress https://username.wordpress.com/ VerisignLabs …

11
วิธีกำหนดค่าตำแหน่งที่จะเปลี่ยนเส้นทางหลังจากออกจากระบบใน Django
แค่สงสัยว่าฉันจะตั้งค่า url ให้เปลี่ยนเส้นทางไปหลังออกจากระบบได้ที่ไหน ฉันรู้ว่าคุณสามารถตั้งค่า URL เข้าสู่ระบบได้ ฉันต้องการเปลี่ยนเส้นทางไปที่หน้าแรกของฉัน

11
วิธีใช้ pip บน windows หลังการพิสูจน์ตัวตนพร็อกซี
คอมพิวเตอร์ของฉันใช้งาน windows หลังพร็อกซีบนเซิร์ฟเวอร์ windows (โดยใช้ไดเรกทอรีที่ใช้งานอยู่) และฉันไม่สามารถหาวิธีผ่านมันด้วยpip(ใน python3) ฉันได้ลองใช้--proxyแล้ว แต่ก็ยังคงหมดเวลา ฉันได้ลองตั้งค่าการหมดเวลานานแล้ว (60s) แต่ก็ไม่ได้สร้างความแตกต่าง การตั้งค่าพร็อกซีของฉันถูกต้องและฉันเปรียบเทียบกับที่ฉันใช้สำเร็จใน TortoiseHG เพื่อให้แน่ใจ มีเทคนิคอื่นใดที่ใคร ๆ ก็รู้ว่าฉันสามารถลองได้หรือมีข้อ จำกัด บางประการpipเกี่ยวกับพร็อกซีของ windows หรือไม่? อัปเดต:ความพยายามที่ล้มเหลวของฉันเกี่ยวข้องกับการค้นหา pypi ฉันเพิ่งลองติดตั้งบางอย่างและใช้งานได้จริง การค้นหายังคงล้มเหลวแม้ว่า สิ่งนี้บ่งชี้ข้อบกพร่องในpipหรือทำงานแตกต่างกันหรือไม่

9
เกลือที่ไม่สุ่มสำหรับแฮชรหัสผ่าน
อัปเดต: เมื่อเร็ว ๆ นี้ฉันได้เรียนรู้จากคำถามนี้ว่าในการสนทนาทั้งหมดด้านล่างฉัน (และฉันแน่ใจว่าคนอื่น ๆ ก็ทำเช่นกัน) ค่อนข้างสับสน: สิ่งที่ฉันเรียกตารางสายรุ้งนั้นแท้จริงแล้วเรียกว่าตารางแฮช ตารางสายรุ้งเป็นสิ่งมีชีวิตที่ซับซ้อนกว่าและเป็นรูปแบบหนึ่งของ Hellman Hash Chains แม้ว่าฉันจะเชื่อว่าคำตอบนั้นยังคงเหมือนเดิม (เนื่องจากไม่ได้มีการเข้ารหัสลับ) การสนทนาบางส่วนอาจจะเบี้ยวเล็กน้อย คำถาม: " อะไรคือตารางรุ้งและวิธีการที่พวกเขาใช้? " โดยปกติฉันมักจะแนะนำให้ใช้ค่าสุ่มที่มีการเข้ารหัสที่แข็งแกร่งเป็นเกลือเสมอเพื่อใช้กับฟังก์ชันแฮช (เช่นรหัสผ่าน) เช่นเพื่อป้องกันการโจมตีของ Rainbow Table แต่จริง ๆ แล้วมันจำเป็นสำหรับการสุ่มเกลือหรือไม่? ค่าที่ไม่ซ้ำกัน (ไม่ซ้ำกันต่อผู้ใช้เช่น userId) จะเพียงพอหรือไม่ในเรื่องนี้ ในความเป็นจริงมันจะป้องกันไม่ให้ใช้ Rainbow Table เดียวเพื่อถอดรหัสรหัสผ่านทั้งหมด (หรือส่วนใหญ่) ในระบบ ... แต่การขาดเอนโทรปีทำให้ความแข็งแกร่งในการเข้ารหัสของฟังก์ชันแฮชลดลงหรือไม่? หมายเหตุฉันไม่ได้ถามว่าทำไมต้องใช้เกลือวิธีการป้องกัน (ไม่จำเป็นต้องเป็น) การใช้แฮชคงที่เดียว (ไม่ต้อง) หรือฟังก์ชันแฮชประเภทใดที่จะใช้ เพียงแค่ว่าเกลือต้องการเอนโทรปีหรือไม่ ขอบคุณทุกคนสำหรับคำตอบจนถึงตอนนี้ แต่ฉันอยากจะเน้นในส่วนที่ฉันไม่ค่อยคุ้นเคย (นิดหน่อย) ผลกระทบส่วนใหญ่สำหรับการเข้ารหัส …

11
การพิสูจน์ตัวตนกับ Active Directory โดยใช้ python + ldap
ฉันจะพิสูจน์ตัวตนกับ AD โดยใช้ Python + LDAP ได้อย่างไร ฉันกำลังใช้ไลบรารี python-ldap และสิ่งที่ผลิตออกมาคือน้ำตา ฉันไม่สามารถเชื่อมโยงเพื่อดำเนินการค้นหาง่ายๆ: import sys import ldap Server = "ldap://my-ldap-server" DN, Secret, un = sys.argv[1:4] Base = "dc=mydomain,dc=co,dc=uk" Scope = ldap.SCOPE_SUBTREE Filter = "(&(objectClass=user)(sAMAccountName="+un+"))" Attrs = ["displayName"] l = ldap.initialize(Server) l.protocol_version = 3 print l.simple_bind_s(DN, Secret) r = l.search(Base, Scope, Filter, Attrs) …

5
จะตรวจสอบข้อมูลรับรองโดเมนได้อย่างไร?
ฉันต้องการตรวจสอบความถูกต้องของชุดข้อมูลรับรองกับตัวควบคุมโดเมน เช่น: Username: STACKOVERFLOW\joel Password: splotchy วิธีที่ 1. สืบค้น Active Directory ด้วยการแอบอ้างบุคคลอื่น ผู้คนจำนวนมากแนะนำให้ค้นหา Active Directory สำหรับบางสิ่ง หากเกิดข้อยกเว้นแสดงว่าคุณทราบว่าข้อมูลรับรองไม่ถูกต้องตามที่แนะนำในคำถาม stackoverflowนี้ อย่างไรก็ตามมีข้อเสียที่ร้ายแรงบางประการสำหรับแนวทางนี้ : คุณไม่เพียง แต่ตรวจสอบสิทธิ์บัญชีโดเมนเท่านั้น แต่คุณกำลังทำการตรวจสอบการอนุญาตโดยปริยายด้วย นั่นคือคุณกำลังอ่านคุณสมบัติจาก AD โดยใช้โทเค็นการเลียนแบบ จะเกิดอะไรขึ้นถ้าบัญชีอื่นที่ถูกต้องไม่มีสิทธิ์อ่านจาก AD? โดยค่าเริ่มต้นผู้ใช้ทุกคนมีสิทธิ์ในการอ่าน แต่สามารถตั้งค่านโยบายโดเมนเพื่อปิดใช้งานสิทธิ์การเข้าถึงสำหรับบัญชีที่ถูก จำกัด (และหรือกลุ่ม) การเชื่อมโยงกับ AD มีค่าใช้จ่ายที่ร้ายแรงแคชสกีมาของ AD จะต้องถูกโหลดที่ไคลเอนต์ (แคช ADSI ในตัวให้บริการ ADSI ที่ใช้โดย DirectoryServices) นี่เป็นทั้งเครือข่ายและเซิร์ฟเวอร์ AD ซึ่งสิ้นเปลืองทรัพยากรและมีราคาแพงเกินไปสำหรับการดำเนินการง่ายๆเช่นการตรวจสอบบัญชีผู้ใช้ คุณอาศัยความล้มเหลวของข้อยกเว้นสำหรับกรณีที่ไม่พิเศษและสมมติว่านั่นหมายถึงชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง ปัญหาอื่น ๆ (เช่นความล้มเหลวของเครือข่ายความล้มเหลวในการเชื่อมต่อ …

3
หนังสือเดินทางท้องถิ่นด้วย node-jwt-simple
ฉันจะรวมพาสปอร์ต - ท้องถิ่นเพื่อคืนโทเค็น JWT ในการพิสูจน์ตัวตนสำเร็จได้อย่างไร ฉันต้องการใช้node-jwt-simpleและดูที่passport.jsฉันไม่แน่ใจว่าจะดำเนินการอย่างไร var passport = require('passport') , LocalStrategy = require('passport-local').Strategy; passport.use(new LocalStrategy( function(username, password, done) { User.findOne({ username: username }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Incorrect username.' }); } if (!user.validPassword(password)) { return done(null, …

3
REST API สำหรับเว็บไซต์ที่ใช้ Facebook ในการตรวจสอบสิทธิ์
เรามีเว็บไซต์ที่วิธีเดียวในการเข้าสู่ระบบและรับรองความถูกต้องของตัวเองด้วยเว็บไซต์คือ Facebook (นี่ไม่ใช่ทางเลือกของฉัน) ในครั้งแรกที่คุณเข้าสู่ระบบด้วย Facebook บัญชีจะถูกสร้างขึ้นโดยอัตโนมัติสำหรับคุณ ตอนนี้เราต้องการสร้างแอปพลิเคชัน iPhone สำหรับไซต์ของเราและยังมี API สาธารณะสำหรับให้ผู้อื่นใช้บริการของเรา คำถามนี้เกี่ยวกับวิธีการตรวจสอบสิทธิ์กับเว็บไซต์ของเราจากแอป / API และแบ่งออกเป็น 2 ส่วน: อะไรคือวิธีที่ถูกต้องในการจัดการการตรวจสอบ REST จาก API ไปยังเว็บไซต์ที่ใช้ Facebook OAuth เป็นวิธีการตรวจสอบสิทธิ์เท่านั้น ฉันได้อ่านและค้นคว้ามากมายเกี่ยวกับวิธีการตรวจสอบมาตรฐานสำหรับ REST API เราไม่สามารถใช้วิธีการดังกล่าวเป็นการตรวจสอบสิทธิ์พื้นฐานผ่าน HTTPSได้เนื่องจากไม่มีข้อมูลรับรองสำหรับผู้ใช้เช่นนี้ สิ่งนี้ดูเหมือนจะใช้สำหรับการตรวจสอบสิทธิ์แอปพลิเคชันโดยใช้ API เท่านั้น ขณะนี้วิธีที่ดีที่สุดที่ฉันคิดได้คือคุณเข้าสู่ / อนุญาตจุดสิ้นสุดบน API ของเรามันจะเปลี่ยนเส้นทางไปที่ Facebook OAuth จากนั้นเปลี่ยนเส้นทางกลับไปที่ไซต์และให้ 'โทเค็น' ซึ่งผู้ใช้ API สามารถใช้เพื่อตรวจสอบสิทธิ์ในภายหลังได้ คำขอ สำหรับแอปพลิเคชันอย่างเป็นทางการที่เราสร้างขึ้นเราไม่จำเป็นต้องใช้ API สาธารณะในลักษณะเดียวกัน อะไรคือวิธีที่ดีที่สุดในการพูดคุยกับเว็บไซต์ของเราและตรวจสอบสิทธิ์ผู้ใช้ …

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