คำถามติดแท็ก session-cookies

22
การทำให้โทเค็น JSON Web Tokens ไม่ถูกต้อง
สำหรับโครงการใหม่ node.js ที่ฉันกำลังทำงานฉันกำลังคิดที่จะเปลี่ยนจากวิธีเซสชันแบบใช้คุกกี้ (โดยสิ่งนี้ฉันหมายถึงการจัดเก็บรหัสไปยังที่เก็บคีย์ - ค่าที่มีเซสชันผู้ใช้ในเบราว์เซอร์ของผู้ใช้) สู่แนวทางเซสชันที่ใช้โทเค็น (ไม่มีที่เก็บคีย์ - ค่า) โดยใช้ JSON Web Tokens (jwt) โครงการนี้เป็นเกมที่ใช้ socket.io - การมีเซสชันที่ใช้โทเค็นจะเป็นประโยชน์ในสถานการณ์ดังกล่าวซึ่งจะมีช่องทางการสื่อสารหลายช่องในเซสชันเดียว (เว็บและ socket.io) หนึ่งจะให้โทเค็น / เซสชั่นไม่ถูกต้องจากเซิร์ฟเวอร์โดยใช้วิธีการ jwt? ฉันยังต้องการที่จะเข้าใจถึงข้อผิดพลาด / การโจมตีที่พบบ่อย (หรือผิดปกติ) ที่ฉันควรระวังด้วยกระบวนทัศน์ประเภทนี้ ตัวอย่างเช่นหากกระบวนทัศน์นี้มีความเสี่ยงต่อการโจมตีประเภทเดียวกัน / แตกต่างกันกับวิธีการจัดเก็บเซสชัน / คุกกี้ตามวิธี ดังนั้นบอกว่าฉันมีดังต่อไปนี้ (ดัดแปลงมาจากสิ่งนี้และสิ่งนี้ ): เข้าสู่ระบบร้านค้าเซสชัน: app.get('/login', function(request, response) { var user = {username: request.body.username, password: request.body.password …

4
วิธีใช้ cURL เพื่อส่งคุกกี้
ฉันอ่านแล้วว่าส่งคุกกี้ด้วย curlใช้ได้ แต่ไม่ใช่สำหรับฉัน ฉันมีRESTจุดสิ้นสุดเป็น: class LoginResource(restful.Resource): def get(self): print(session) if 'USER_TOKEN' in session: return 'OK' return 'not authorized', 401 เมื่อฉันพยายามเข้าถึงเป็น: curl -v -b ~/Downloads/cookies.txt -c ~/Downloads/cookies.txt http://127.0.0.1:5000/ * About to connect() to 127.0.0.1 port 5000 (#0) * Trying 127.0.0.1... * connected * Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0) > …

5
PHP Session Fixation / Hijacking
ฉันกำลังพยายามทำความเข้าใจเพิ่มเติมเกี่ยวกับ PHP Session Fixation & hijacking และวิธีป้องกันปัญหาเหล่านี้ ฉันได้อ่านบทความสองเรื่องต่อไปนี้บนเว็บไซต์ของ Chris Shiflett: การแก้ไขเซสชัน เซสชั่นหักหลัง อย่างไรก็ตามฉันไม่แน่ใจว่าฉันเข้าใจสิ่งต่าง ๆ อย่างถูกต้อง เพื่อช่วยป้องกันการแก้ไขเซสชันเพียงพอที่จะเรียก session_regenerate_id (จริง); หลังจากลงชื่อเข้าใช้บางคนสำเร็จแล้ว ฉันคิดว่าฉันเข้าใจถูกต้อง นอกจากนี้เขายังพูดถึงการใช้โทเค็นที่ส่งผ่านไปใน URL ผ่าน $ _GET เพื่อป้องกันการขโมยเซสชัน สิ่งนี้จะเกิดขึ้นได้อย่างไร ฉันคาดเดาว่าเมื่อมีคนลงชื่อเข้าใช้คุณสร้างโทเค็น & เก็บไว้ในตัวแปรเซสชันแล้วในแต่ละหน้าคุณจะเปรียบเทียบตัวแปรเซสชันนั้นกับค่าของตัวแปร $ _GET หรือไม่ โทเค็นนี้จำเป็นต้องเปลี่ยนเพียงหนึ่งครั้งต่อเซสชันหรือในแต่ละหน้าโหลดหรือไม่ ยังเป็นวิธีที่ดีในการป้องกันการหักหลังโดยไม่ต้องผ่านค่าตามใน urls? มันจะง่ายขึ้นมาก

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

4
อะไรคือความแตกต่างระหว่างคุกกี้ฝั่งเซิร์ฟเวอร์และคุกกี้ฝั่งไคลเอ็นต์?
อะไรคือความแตกต่างระหว่างการสร้างคุกกี้บนเซิร์ฟเวอร์และบนไคลเอนต์? สิ่งเหล่านี้เรียกว่าคุกกี้ฝั่งเซิร์ฟเวอร์และคุกกี้ฝั่งไคลเอ็นต์หรือไม่ มีวิธีสร้างคุกกี้ที่สามารถอ่านได้เฉพาะบนเซิร์ฟเวอร์หรือบนไคลเอนต์หรือไม่?

2
จะทำการตรวจสอบสิทธิ์แบบไม่ระบุสถานะ (ไม่มีเซสชัน) และไม่ใช้คุกกี้ได้อย่างไร
Bob ใช้เว็บแอปพลิเคชันเพื่อบรรลุบางสิ่งบางอย่าง และ: เบราว์เซอร์ของเขาคือในอาหารจึงไม่สนับสนุนคุกกี้ เว็บแอปพลิเคชันเป็นที่นิยมซึ่งเกี่ยวข้องกับผู้ใช้จำนวนมากในช่วงเวลาหนึ่ง - ต้องปรับขนาดให้ดี ตราบใดที่การเก็บรักษาเซสชันจะจำกัด จำนวนการเชื่อมต่อพร้อมกันและแน่นอนว่าจะนำมาซึ่งการลงโทษด้านประสิทธิภาพที่ไม่สำคัญเราอาจต้องการให้มีระบบที่ไม่ใช้เซสชัน :) หมายเหตุสำคัญบางประการ: เรามีความปลอดภัยในการขนส่ง ( HTTPSและเพื่อนที่ดีที่สุด) หลังม่านที่ได้รับมอบหมายโปรแกรมประยุกต์บนเว็บจำนวนมากของการดำเนินงานเพื่อให้บริการภายนอกในปัจจุบันนามของผู้ใช้ (ระบบเหล่านั้นทำรู้จักบ๊อบเป็นหนึ่งของผู้ใช้) - ที่นี้หมายถึงว่าเราจะต้องส่งต่อให้ข้อมูลประจำตัวของบ๊อบ ตอนนี้เราจะตรวจสอบความถูกต้องของ Bob (ในแต่ละคำขอ) ได้อย่างไร? วิธีใดเป็นวิธีที่เหมาะสมในการนำสิ่งดังกล่าวไปปฏิบัติ การเล่นเทนนิสด้วยข้อมูลประจำตัวผ่านช่องที่ซ่อนอยู่ในรูปแบบ HTML ... ลูกบอลมีข้อมูลประจำตัว ( ชื่อผู้ใช้และรหัสผ่าน ) และไม้ทั้งสองคือเบราว์เซอร์และเว็บแอปพลิเคชันตามลำดับ กล่าวอีกนัยหนึ่งเราอาจขนส่งข้อมูลไปมาผ่านช่องแบบฟอร์มแทนที่จะใช้คุกกี้ ตามคำขอของเว็บแต่ละครั้งเบราว์เซอร์จะโพสต์ข้อมูลรับรอง แม้ว่าในกรณีของแอปพลิเคชันหน้าเดียวอาจดูเหมือนการเล่นสควอชกับกำแพงยางแทนที่จะเล่นเทนนิสเนื่องจากเว็บฟอร์มที่มีข้อมูลรับรองอาจคงอยู่ตลอดอายุการใช้งานของหน้าเว็บ (และเซิร์ฟเวอร์จะได้รับการกำหนดค่าไม่ให้เสนอข้อมูลรับรองกลับ) การจัดเก็บชื่อผู้ใช้และรหัสผ่านในบริบทของหน้า - ตัวแปร JavaScript เป็นต้นต้องมีหน้าเดียวที่นี่ IMHO การตรวจสอบความถูกต้องโดยใช้โทเค็นเข้ารหัส ในกรณีนี้การดำเนินการเข้าสู่ระบบจะส่งผลให้มีการสร้างโทเค็นความปลอดภัยที่เข้ารหัส (ชื่อผู้ใช้ + รหัสผ่าน + อย่างอื่น) โทเค็นนี้จะถูกส่งกลับไปยังไคลเอนต์และคำขอที่จะเกิดขึ้นจะมาพร้อมกับโทเค็น สิ่งนี้สมเหตุสมผลไหม …

2
การตั้งค่าสถานะคุกกี้“ ปลอดภัย” ทำงานอย่างไร
ฉันรู้ว่าคุกกี้ที่มีsecureค่าสถานะจะไม่ถูกส่งผ่านการเชื่อมต่อที่ไม่ได้เข้ารหัส ฉันสงสัยว่ามันทำงานในเชิงลึกอย่างไร ใครเป็นผู้รับผิดชอบในการพิจารณาว่าคุกกี้จะถูกส่งหรือไม่?

8
ความแตกต่างระหว่าง session_unset () และ session_destroy () ใน PHP คืออะไร?
จากเอกสารphp.net : session_destroy - ทำลายข้อมูลทั้งหมดที่ลงทะเบียนกับเซสชัน session_unset - ฟรีตัวแปรเซสชันทั้งหมด คำถามสามส่วนของฉันคือ: ทั้งสองฟังก์ชั่นดูเหมือนกันมาก อะไรคือความแตกต่างระหว่างทั้งสอง? ทั้งสองดูเหมือนจะลบตัวแปรทั้งหมดที่ลงทะเบียนกับเซสชัน มีใครทำลายเซสชั่นตัวเองจริงหรือ? ถ้าไม่คุณจะทำสิ่งนี้ให้สำเร็จได้อย่างไร (ทำลายเซสชันนั้นเอง) ถูกต้องหรือไม่ที่ทั้งสองฟังก์ชันไม่ลบคุกกี้เซสชันที่ไคลเอนต์

11
วิธีลบคุกกี้บนเว็บไซต์ ASP.NET
ในเว็บไซต์ของฉันเมื่อผู้ใช้คลิกที่ปุ่ม "ออกจากระบบ" โหลดหน้าเว็บ Logout.aspx Session.Clear()ด้วยรหัส ใน ASP.NET/C# สิ่งนี้ล้างคุกกี้ทั้งหมดหรือไม่ หรือมีรหัสอื่นที่ต้องเพิ่มเพื่อลบคุกกี้ทั้งหมดในเว็บไซต์ของฉันหรือไม่?

2
การตั้งค่าคุกกี้ Google เครื่องจัดการแท็กด้วยคุณลักษณะ SameSite และ Secure
Chrome กำลังรายงานคำเตือนต่อไปนี้: คุกกี้ที่เชื่อมโยงกับทรัพยากรข้ามไซต์ที่https://www.googletagmanager.com/ถูกตั้งค่าโดยไม่มีSameSiteแอตทริบิวต์ ปล่อยอนาคตของ Chrome จะส่งคุกกี้ที่มีการร้องขอข้ามไซต์ถ้าพวกเขาถูกกำหนดด้วยและSameSite=None Secureคุณสามารถตรวจสอบคุกกี้ในเครื่องมือสำหรับนักพัฒนาแอพลิเคชันภายใต้> ที่เก็บข้อมูล> คุกกี้และดูรายละเอียดเพิ่มเติมได้ที่https://www.chromestatus.com/feature/5088147346030592และhttps://www.chromestatus.com/feature/5633521622188032 ฉันมีคำเตือนสองประเภทนี้ สามคุกกี้ฉันเห็นgtm_auth, และgtm_preview gtm_debugคุกกี้เซสชันทั้งหมด ฉันเห็นgtm_authถูกตั้งค่าด้วยSecureแอตทริบิวต์ ( SameSiteแอตทริบิวต์ว่างเปล่า) อีกสองคุกกี้ไม่ได้ตั้งค่าแอตทริบิวต์อย่างใดอย่างหนึ่ง พวกเขาถูกจัดประเภทเป็นคุกกี้เชิงวิเคราะห์ไม่ใช่คุกกี้ทางการตลาด ใช้Google Tag Managerฉันจะตั้งค่าหรือแก้ไขคุกกี้เหล่านี้ได้อย่างไร ฉันไม่ต้องการอัปเดตคุกกี้ในรหัสของฉัน Google Tag Managerผมคิดว่าการเพิ่มคุณลักษณะคุกกี้ควรจะเป็นไปได้โดยใช้ จุดยืนของ Google คืออะไรเกี่ยวกับวิธีแก้ไขปัญหานี้ด้วยGoogle AnalyticsและGoogle Tag Manager?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.