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

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

17
การเชื่อมต่อ Redis ไปยัง 127.0.0.1:6379 ล้มเหลว - เชื่อมต่อ ECONNREFUSED
ฉันทำงานกับ node.js โดย expressjs ฉันพยายามจัดเก็บบัญชีในเซสชัน ดังนั้นฉันจึงพยายามทดสอบเพื่อใช้เซสชันกับโค้ดในexpressjs var RedisStore = require('connect-redis')(express); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({ secret: "keyboard cat", store: new RedisStore })); แต่ฉันพบข้อผิดพลาด Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSEDแต่ผมมีข้อผิดพลาดโปรดช่วยฉันแก้ไขปัญหานี้

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

4
PHP เซสชันทำงานอย่างไร (ไม่ใช่“ ใช้อย่างไร”)
ไฟล์เซสชั่นจะถูกเก็บไว้ในการพูดบนเซิร์ฟเวอร์และตั้งชื่อ/tmp/ sess_{session_id}ฉันดูเนื้อหาแล้วและคิดไม่ออกว่ามันทำงานอย่างไร การเรียกชื่อตัวแปรและเนื้อหาจากไฟล์นั้นทำได้ง่าย แต่ PHP รู้ได้อย่างไรว่าเซสชันใดเป็นของใคร? session_id ดูเหมือนสุ่มโดยสิ้นเชิงและที่อยู่ IP หนึ่งสามารถมีผู้ใช้หลายคนและผู้ใช้แต่ละคนสามารถมีหลายเซสชันได้หากเปิดหน้าต่างเบราว์เซอร์มากกว่าหนึ่งหน้าต่าง แล้วมันทำงานอย่างไร?
127 php  session 


5
ฉันควรทำอย่างไรหากเซสชัน ASP.NET ปัจจุบันเป็นโมฆะ
ในเว็บแอปพลิเคชันของฉันฉันทำสิ่งนี้เพื่ออ่านตัวแปรเซสชัน: if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null) { string myVariable= (string)HttpContext.Current.Session["MyVariable"]; } ฉันเข้าใจว่าเหตุใดจึงสำคัญที่ต้องตรวจสอบว่าเหตุใด HttpContext.Current.Session ["MyVariable"] จึงเป็นโมฆะ (ตัวแปรอาจยังไม่ได้รับการจัดเก็บใน Session หรือมีการรีเซ็ต Session ด้วยเหตุผลหลายประการ) แต่เหตุใดฉันจึงต้องตรวจสอบ ถ้าHttpContext.Current.Sessionเป็นโมฆะ? ความเข้าใจของฉันคือเซสชันถูกสร้างขึ้นโดยอัตโนมัติโดย ASP.NET ดังนั้น HttpContext.Current.Session ไม่ควรเป็นโมฆะ สมมติฐานนี้ถูกต้องหรือไม่? ถ้ามันเป็นโมฆะได้หมายความว่าฉันควรตรวจสอบก่อนที่จะเก็บบางอย่างไว้ในนั้นหรือไม่: if (HttpContext.Current.Session != null) { HttpContext.Current.Session["MyVariable"]="Test"; } else { // What should be done in this case (if …
125 asp.net  session 

4
พาสปอร์ตเซสชัน () มิดเดิลแวร์ทำอะไร
ฉันกำลังสร้างระบบการตรวจสอบการใช้ Passport.js ใช้โหนดรับรองความถูกต้องง่ายต่อการติดตั้งและการกวดวิชาท้องถิ่น ฉันสับสนเกี่ยวกับสิ่งที่passport.session()ทำ หลังจากที่เล่นรอบกับตัวกลางที่แตกต่างกันฉันมาที่จะเข้าใจว่าexpress.session()คือสิ่งที่จะส่งรหัสเซสชันคุกกี้ให้กับลูกค้า แต่ฉันสับสนเกี่ยวกับสิ่งที่ทำและทำไมมันเป็นสิ่งจำเป็นที่นอกเหนือไปจากpassport.session()express.session() นี่คือวิธีตั้งค่าแอปพลิเคชันของฉัน: // Server.js กำหนดค่าแอปพลิเคชันและตั้งค่าเว็บเซิร์ฟเวอร์ //importing our modules var express = require('express'); var app = express(); var port = process.env.PORT || 8080; var mongoose = require('mongoose'); var passport = require('passport'); var flash = require('connect-flash'); var configDB = require('./config/database.js'); //Configuration of Databse and App mongoose.connect(configDB.url); //connect …

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


10
วิธีที่เหมาะสมในการตรวจสอบค่าว่างคืออะไร?
ฉันชอบตัวดำเนินการการรวมกันเป็นโมฆะเพราะทำให้ง่ายต่อการกำหนดค่าเริ่มต้นสำหรับประเภทที่ว่าง int y = x ?? -1; ที่ดี xแต่ถ้าฉันต้องทำบางสิ่งบางอย่างที่เรียบง่ายด้วย ตัวอย่างเช่นถ้าฉันต้องการตรวจสอบSessionฉันมักจะต้องเขียนอะไรที่ละเอียดกว่านี้ ฉันหวังว่าฉันจะทำได้: string y = Session["key"].ToString() ?? "none"; แต่คุณทำไม่ได้เนื่องจาก.ToString()ถูกเรียกก่อนการตรวจสอบค่าว่างจึงล้มเหลวหากSession["key"]เป็นโมฆะ ฉันจะทำสิ่งนี้: string y = Session["key"] == null ? "none" : Session["key"].ToString(); มันใช้งานได้และดีกว่าในความคิดของฉันมากกว่าทางเลือกสามบรรทัด: string y = "none"; if (Session["key"] != null) y = Session["key"].ToString(); แม้ว่าจะได้ผล แต่ฉันก็ยังอยากรู้ว่ามีวิธีที่ดีกว่านี้หรือไม่ ดูเหมือนว่าไม่ว่าอะไรก็ตามที่ฉันต้องอ้างอิงSession["key"]สองครั้งเสมอ หนึ่งครั้งสำหรับการตรวจสอบและอีกครั้งสำหรับงานที่มอบหมาย ความคิดใด ๆ ?

4
ใน ASP.NET ฉันควรใช้ Session.Clear () แทน Session.Abandon () เมื่อใด
ทั้ง Session.Clear () และ Session.Abandon () กำจัดตัวแปรเซสชัน ตามที่ฉันเข้าใจ Abandon () จะสิ้นสุดเซสชันปัจจุบันและทำให้เซสชันใหม่ถูกสร้างขึ้นซึ่งทำให้เหตุการณ์สิ้นสุดและเริ่มทำงาน ดูเหมือนว่าควรเรียก Abandon () เป็นส่วนใหญ่เช่นการล็อกผู้ใช้ออก มีสถานการณ์ที่ฉันใช้ Clear () แทนหรือไม่? ประสิทธิภาพแตกต่างกันมากไหม

10
การรักษา ASP.NET Session Open / Alive
วิธีใดเป็นวิธีที่ง่ายที่สุดและไม่เป็นการรบกวนที่สุดในการทำให้เซสชัน ASP.NET คงอยู่ตราบเท่าที่ผู้ใช้เปิดหน้าต่างเบราว์เซอร์ไว้ AJAX โทรตามเวลาหรือไม่ ฉันต้องการป้องกันสิ่งต่อไปนี้: บางครั้งผู้ใช้เปิดหน้าต่างไว้เป็นเวลานานจากนั้นป้อนข้อมูลและเมื่อส่งแล้วจะไม่มีอะไรทำงานอีกต่อไปเนื่องจากเซสชันฝั่งเซิร์ฟเวอร์หมดอายุ ฉันไม่ต้องการเพิ่มค่าการหมดเวลานานกว่า 10 นาทีบนเซิร์ฟเวอร์เนื่องจากฉันต้องการให้เซสชันปิด (โดยการปิดหน้าต่างเบราว์เซอร์) เพื่อให้หมดเวลาอย่างรวดเร็ว ข้อเสนอแนะตัวอย่างโค้ด?
116 c#  asp.net  session 

1
วิธีที่ดีที่สุดในการล้างตัวแปรเซสชันในรางคืออะไร?
session[:message] = nil นี่เป็นวิธีที่ดีที่สุดในการทำลายตัวแปรเซสชันหรือไม่ หมายเหตุ:ฉันไม่ต้องการล้างตัวแปรเซสชันทั้งหมดเช่นreset_sessionนี้

1
tmux: จะรวมสองหน้าต่าง tmux เข้าเป็นบานหน้าต่างได้อย่างไร?
ฉันมีหน้าต่าง tmux สองบานโดยมีบานหน้าต่างเดียวในแต่ละบานและฉันต้องการรวมบานหน้าต่างสองบานนี้เข้าด้วยกันเป็นหน้าต่างเดียวเป็นบานหน้าต่างแยกแนวนอน ฉันจะทำอย่างนั้นได้อย่างไร?
115 session  split  tmux 

15
ใน Laravel วิธีที่ดีที่สุดในการส่งข้อความแฟลชประเภทต่างๆในเซสชัน
ฉันกำลังสร้างแอปแรกใน Laravel และกำลังพยายามทำความเข้าใจกับข้อความแฟลชเซสชัน เท่าที่ฉันทราบในการทำงานของคอนโทรลเลอร์ฉันสามารถตั้งค่าข้อความแฟลชได้โดยไป Redirect::to('users/login')->with('message', 'Thanks for registering!'); //is this actually OK? สำหรับกรณีเปลี่ยนเส้นทางไปยังเส้นทางอื่นหรือ Session::flash('message', 'This is a message!'); ในเทมเพลตใบมีดต้นแบบของฉันฉันจะมี: @if(Session::has('message')) <p class="alert alert-info">{{ Session::get('message') }}</p> @endif ในขณะที่คุณอาจจะสังเกตเห็นฉันใช้เงินทุนที่ 3 ใน app ของฉันและต้องการที่จะทำให้การใช้งานของการเรียนข้อความที่แตกต่างกัน: alert-info, alert-warning, alert-dangerฯลฯ สมมติว่าในคอนโทรลเลอร์ของฉันฉันรู้ว่าฉันกำลังตั้งค่าข้อความประเภทใดวิธีใดที่ดีที่สุดในการส่งผ่านและแสดงในมุมมอง ฉันควรตั้งค่าข้อความแยกต่างหากในเซสชันสำหรับแต่ละประเภท (เช่นSession::flash('message_danger', 'This is a nasty message! Something's wrong.');) หรือไม่? จากนั้นฉันต้องการคำสั่ง if แยกต่างหากสำหรับแต่ละข้อความในเทมเพลตใบมีดของฉัน คำแนะนำใด ๆ …

5
จะใช้เซสชันในแอปพลิเคชัน ASP.NET MVC 4 ได้อย่างไร?
ฉันยังใหม่กับ ASP.NET MVC ฉันเคยใช้ PHP มาก่อนและมันง่ายมากที่จะสร้างเซสชันและเลือกเรกคอร์ดผู้ใช้ตามตัวแปรเซสชันปัจจุบัน ฉันได้ดูทุกที่บนอินเทอร์เน็ตเพื่อดูบทช่วยสอนแบบทีละขั้นตอนที่สามารถแสดงวิธีสร้างและใช้เซสชันในแอปพลิเคชัน C # ASP.NET MVC 4 ของฉัน ฉันต้องการสร้างเซสชันที่มีตัวแปรผู้ใช้ที่ฉันสามารถเข้าถึงได้จากทุกที่ในคอนโทรลเลอร์ของฉันและสามารถใช้ตัวแปรในการสืบค้น LINQ ของฉันได้

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