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

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


3
ตัวเลือก "ความลับ" ของเซสชันคืออะไร
ฉันไม่รู้อะไรเลยเกี่ยวกับการเข้ารหัส ฉันสงสัยว่าความลับของเซสชั่นคืออะไร ฉันเห็นรหัสดังนี้: app.use(express.session({ store: mongoStore({ url: app.set('db-uri') }), secret: 'topsecret' })); ความลับคืออะไรและฉันควรเปลี่ยน?
111 node.js  session  connect 

10
อะไรคือความแตกต่างระหว่าง Session.Abandon () และ Session.Clear ()
อะไรคือความแตกต่างระหว่างการทำลายเซสชันและการลบค่า? คุณช่วยยกตัวอย่างที่แสดงให้เห็นได้ไหม ฉันค้นหาคำถามนี้ แต่ไม่เข้าใจคำตอบทั้งหมด บางคำตอบคือ: Session.Abandon() ทำลายเซสชัน Session.Clear() เพียงแค่ลบค่าทั้งหมด เพื่อนบอกฉันว่า: การล้างเซสชันจะไม่เป็นการยกเลิกการตั้งค่าเซสชัน แต่ยังคงมีอยู่ด้วย ID เดียวกันสำหรับผู้ใช้ แต่ด้วยการล้างค่า การละทิ้งจะทำลายเซสชันโดยสิ้นเชิงหมายความว่าคุณต้องเริ่มเซสชันใหม่ก่อนจึงจะสามารถเก็บค่าในเซสชันสำหรับผู้ใช้นั้นได้อีก โค้ดด้านล่างนี้ใช้งานได้และไม่มีข้อยกเว้นใด ๆ Session.Abandon(); Session["tempKey1"] = "tempValue1"; เมื่อคุณละทิ้ง () เซสชันคุณ (หรือผู้ใช้) จะได้รับ SessionId ใหม่ เมื่อฉันทดสอบเซสชันจะไม่มีการเปลี่ยนแปลงใด ๆ เมื่อฉันละทิ้งเซสชัน ฉันพบความแตกต่างอย่างหนึ่ง: session.Abandon()ทำให้เกิดSession_Endเหตุการณ์

9
วิธีใช้แอตทริบิวต์เซสชันใน Spring-mvc
คุณช่วยฉันเขียนแอนะล็อกสไตล์สปริง mvc ของรหัสนี้ได้ไหม session.setAttribute("name","value"); และจะเพิ่มองค์ประกอบที่ใส่@ModelAttributeคำอธิบายประกอบลงในเซสชันแล้วเข้าถึงได้อย่างไร?

7
คุกกี้เซสชัน Firefox
โดยทั่วไปเมื่อได้รับคุกกี้ที่ไม่มีระยะเวลาหมดอายุเบราว์เซอร์สมัยใหม่จะถือว่าคุกกี้นี้เป็น 'คุกกี้เซสชัน' พวกเขาจะลบคุกกี้ในตอนท้ายของเซสชันการเรียกดู (โดยทั่วไปเมื่ออินสแตนซ์เบราว์เซอร์ปิดลง) IE, Opera, Safari และ Chrome ล้วนรองรับพฤติกรรมนี้ อย่างไรก็ตาม firefox (3.0.9 รุ่นล่าสุดที่เหมาะสม) ดูเหมือนจะไม่ปฏิบัติตามกฎนี้จากสิ่งที่ฉันบอกได้ว่าคุกกี้ไม่หมดอายุเมื่อปิดเบราว์เซอร์หรือเมื่อผู้ใช้ออกจากระบบหรือรีสตาร์ทระบบปฏิบัติการ .. เหตุใด firefox จึงอ้างถึงสิ่งเหล่านี้ว่าคุกกี้เซสชันเมื่อพวกมันมีอายุการใช้งานยาวนานโดยไม่มีกำหนด? มีใครรู้บ้างว่า Firefox จัดการการหมดอายุของคุกกี้เซสชันอย่างไร
106 firefox  cookies  session 

2
เหตุใดช่วงเวลามาตรฐานจึงมีอายุ 24 นาที (1440 วินาที)
ฉันได้ทำการค้นคว้าเกี่ยวกับ PHP Session Handling และพบว่ามีsession.gc_maxlifetimeค่าอยู่ที่ 1440 วินาที ฉันสงสัยว่าทำไมค่ามาตรฐานคือ 1440 และคำนวณอย่างไร? อะไรคือพื้นฐานสำหรับการคำนวณนี้? ควรเก็บเซสชันไว้นานแค่ไหน? ค่าต่ำสุด / สูงสุดสำหรับ session.gc_maxlifetime ใดที่คุณจะแนะนำ ยิ่งค่าสูงเท่าไหร่ Web-App ก็ยิ่งเสี่ยงต่อการลักลอบเซสชันมากขึ้นเท่านั้น
101 php  security  session 

3
วิธีเพิ่มโทเค็นการปลอมแปลงคำขอข้ามไซต์ (CSRF) อย่างถูกต้องโดยใช้ PHP
ฉันกำลังพยายามเพิ่มความปลอดภัยให้กับแบบฟอร์มบนเว็บไซต์ของฉัน รูปแบบหนึ่งใช้ AJAX และอีกแบบเป็นแบบฟอร์ม "ติดต่อเรา" ที่ตรงไปตรงมา ฉันกำลังพยายามเพิ่มโทเค็น CSRF ปัญหาที่ฉันพบคือโทเค็นจะแสดงใน "ค่า" HTML บางครั้งเท่านั้น เวลาที่เหลือค่าว่างเปล่า นี่คือรหัสที่ฉันใช้ในแบบฟอร์ม AJAX: PHP: if (!isset($_SESSION)) { session_start(); $_SESSION['formStarted'] = true; } if (!isset($_SESSION['token'])) {$token = md5(uniqid(rand(), TRUE)); $_SESSION['token'] = $token; } HTML <form> //... <input type="hidden" name="token" value="<?php echo $token; ?>" /> //... </form> ข้อเสนอแนะใด ๆ ?
100 php  security  session  csrf 

6
จะหมดอายุเซสชั่นเนื่องจากไม่มีการใช้งานใน Django ได้อย่างไร?
แอปพลิเคชัน Django ของเรามีข้อกำหนดการจัดการเซสชันดังต่อไปนี้ เซสชันจะหมดอายุเมื่อผู้ใช้ปิดเบราว์เซอร์ เซสชันจะหมดอายุหลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่ง ตรวจจับเมื่อเซสชันหมดอายุเนื่องจากไม่มีการใช้งานและแสดงข้อความที่เหมาะสมแก่ผู้ใช้ เตือนผู้ใช้ว่าเซสชันที่กำลังจะมาถึงจะหมดอายุภายในไม่กี่นาทีก่อนสิ้นสุดช่วงเวลาที่ไม่มีการใช้งาน นอกจากคำเตือนแล้วให้ผู้ใช้มีตัวเลือกในการขยายเซสชัน หากผู้ใช้ทำงานในกิจกรรมทางธุรกิจที่ยาวนานภายในแอปที่ไม่เกี่ยวข้องกับคำขอที่ส่งไปยังเซิร์ฟเวอร์เซสชันจะต้องไม่หมดเวลา หลังจากอ่านเอกสารโค้ด Django และบล็อกโพสต์บางส่วนที่เกี่ยวข้องกับเรื่องนี้ฉันได้คิดแนวทางการใช้งานต่อไปนี้ ข้อกำหนด 1 ข้อกำหนดนี้สามารถนำไปใช้ได้อย่างง่ายดายโดยตั้งค่า SESSION_EXPIRE_AT_BROWSER_CLOSE เป็น True ข้อกำหนด 2 ฉันได้เห็นคำแนะนำบางประการในการใช้ SESSION_COOKIE_AGE เพื่อกำหนดระยะเวลาหมดอายุของเซสชัน แต่วิธีนี้มีปัญหาดังต่อไปนี้ เซสชันจะหมดอายุเมื่อสิ้นสุด SESSION_COOKIE_AGE เสมอแม้ว่าผู้ใช้จะใช้งานแอปพลิเคชันอยู่ก็ตาม (สามารถป้องกันได้โดยตั้งค่าการหมดอายุของเซสชันเป็น SESSION_COOKIE_AGE ในทุกคำขอโดยใช้มิดเดิลแวร์ที่กำหนดเองหรือโดยการบันทึกเซสชันในทุกคำขอโดยตั้งค่า SESSION_SAVE_EVERY_REQUEST เป็นจริง แต่ปัญหาถัดไปไม่สามารถหลีกเลี่ยงได้เนื่องจากการใช้ SESSION_COOKIE_AGE) เนื่องจากวิธีการทำงานของคุกกี้ SESSION_EXPIRE_AT_BROWSER_CLOSE และ SESSION_COOKIE_AGE จึงไม่สามารถใช้ร่วมกันได้กล่าวคือคุกกี้จะหมดอายุเมื่อปิดเบราว์เซอร์หรือเมื่อถึงเวลาหมดอายุที่กำหนด หากใช้ SESSION_COOKIE_AGE และผู้ใช้ปิดเบราว์เซอร์ก่อนที่คุกกี้จะหมดอายุคุกกี้จะยังคงอยู่และการเปิดเบราว์เซอร์อีกครั้งจะอนุญาตให้ผู้ใช้ (หรือบุคคลอื่น) เข้าสู่ระบบโดยไม่ต้องตรวจสอบสิทธิ์อีกครั้ง Django อาศัยเฉพาะคุกกี้ที่มีอยู่เพื่อตรวจสอบว่าเซสชันนั้นทำงานอยู่หรือไม่ ไม่ได้ตรวจสอบวันหมดอายุของเซสชันที่เก็บไว้กับเซสชัน สามารถใช้วิธีการต่อไปนี้เพื่อดำเนินการตามข้อกำหนดนี้และเพื่อแก้ไขปัญหาที่กล่าวถึงข้างต้น อย่าตั้งค่า SESSION_COOKIE_AGE …

4
เซสชันทำงานใน Express.js กับ Node.js อย่างไร
การใช้Express.jsเซสชันนั้นง่ายมาก ฉันอยากรู้ว่าพวกเขาทำงานอย่างไร มันเก็บคุกกี้ไว้บนไคลเอนต์หรือไม่? ถ้าเป็นเช่นนั้นฉันจะหาคุกกี้ได้ที่ไหน หากจำเป็นฉันจะถอดรหัสได้อย่างไร โดยพื้นฐานแล้วฉันต้องการดูว่าผู้ใช้เข้าสู่ระบบหรือไม่แม้ว่าผู้ใช้จะไม่ได้อยู่บนไซต์จริงในขณะนั้น (เช่น facebook รู้ได้อย่างไรว่าคุณเข้าสู่ระบบเมื่อคุณอยู่ในไซต์อื่น) แต่ฉันควรเข้าใจว่าฉันควรเข้าใจก่อนว่าเซสชันทำงานอย่างไร

9
socket.io และ session?
ฉันใช้เฟรมเวิร์กด่วน ฉันต้องการเข้าถึงข้อมูลเซสชันจาก socket.io ฉันลองใช้ dynamicHelpers ด่วนกับข้อมูล client.listener.server.dynamicViewHelpers แต่ไม่สามารถรับข้อมูลเซสชันได้ มีวิธีง่ายๆในการทำเช่นนี้หรือไม่? โปรดดูรหัส app.listen(3000); var io = require('socket.io'); var io = io.listen(app); io.on('connection', function(client){ // I want to use session data here client.on('message', function(message){ // or here }); client.on('disconnect', function(){ // or here }); });

7
เมื่อใดและทำไมฉันจึงควรใช้ session_regenerate_id ()
เหตุใดฉันจึงควรใช้session_regenerate_id()ฟังก์ชันใน php? ฉันควรใช้มันทุกครั้งหลังจากใช้session_start()? ฉันอ่านแล้วว่าต้องใช้เพื่อป้องกันการตรึงเซสชันนี่เป็นเหตุผลเดียวหรือไม่?

3
การจัดเก็บเซสชันด้วย Redis ปลอดภัยแค่ไหน?
ฉันกำลังใช้ MySql เพื่อจัดเก็บเซสชันของฉัน ใช้งานได้ดี แต่ช้าไปหน่อย ฉันถูกขอให้ใช้ Redis แต่ฉันสงสัยว่ามันเป็นความคิดที่ดีหรือไม่เพราะฉันได้ยินมาว่า Redis ทำให้การดำเนินการเขียนล่าช้า ฉันค่อนข้างกลัวเพราะเซสชันต้องเป็นแบบเรียลไทม์ มีใครประสบปัญหาดังกล่าวบ้าง?
95 session  redis 

9
แชร์เซสชัน (คุกกี้) ระหว่างโดเมนย่อยใน Rails?
ฉันมีการตั้งค่าแอปที่ผู้ใช้แต่ละคนเป็นของ บริษัท และ บริษัท นั้นมีโดเมนย่อย (ฉันใช้โดเมนย่อยสไตล์ basecamp) ปัญหาที่ฉันกำลังเผชิญคือทางรถไฟกำลังสร้างคุกกี้หลายตัว (อันหนึ่งสำหรับ lvh.me และอีกอันสำหรับ subdomain.lvh.me) ซึ่งทำให้แอปพลิเคชันของฉันหยุดพักค่อนข้างน้อย (เช่นข้อความแฟลชที่ไม่หยุดหย่อนแม้ว่าจะมีคำขอทั้งหมดเพียงครั้งเดียวก็ตาม ลงทะเบียนเข้า). ฉันมีสิ่งนี้ในไฟล์ /cofig/initilizers/session_store.rb ของฉัน: AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all โดเมน:: ทั้งหมดนี้ดูเหมือนจะเป็นคำตอบมาตรฐานที่ฉันพบใน Google แต่ดูเหมือนจะไม่ได้ผลสำหรับฉัน ขอความช่วยเหลือใด ๆ !

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ทุกประการแต่เมื่อฉันทิ้งตัวแปรมันจะไม่แสดงทั้งสองคีย์ไม่ว่าจะเป็นคีย์ใดก็ตามที่ฉันตั้งค่าไว้ในแต่ละโดเมน

9
รหัสเซสชัน php มีเอกลักษณ์เพียงใด
id เซสชัน php มีเอกลักษณ์เพียงใด ฉันได้รับความประทับใจจากสิ่งต่างๆที่ฉันได้อ่านว่าฉันไม่ควรพึ่งพาผู้ใช้สองคนที่ไม่เคยได้รับ sessionid เดียวกัน มันไม่ใช่ GUID เหรอ?
91 php  session  guid 

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