标签: sessionid

会话Cookie和IE 8

我最近构建了一个部署在Tomcat上的简单Web应用程序.该应用程序使用基于标准会话的安全性,其中已登录的用户被授予会话.

会话在Firefox和Chrome中运行良好,但需要在IE的URL(测试7和8)中使用jsessionid,设置为中等隐私.在IE 8中,我试图覆盖cookie处理,设置"允许所有第三方cookie"和"允许所有会话cookie" - 没有骰子.但是,当我在本地计算机上运行Tomcat时,IE接受cookie,并且会话工作正常.

现在,对于HTTP标头.

在Chrome中,登录用户会获得会话

GET http://devl:8080/testing/ HTTP/1.1
Host: devl:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1036 Safari/532.5
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
P3P: CP="NON CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT STA"
Set-Cookie: JSESSIONID=9280023BCE2046F32B13C89130CBC397; Path=/testing
Content-Type: text/html;charset=UTF-8
Content-Language: en-US
Content-Length: 2450
Date: Fri, 26 Mar 2010 14:14:40 GMT

GET http://devl:8080/testing/logout HTTP/1.1
Host: devl:8080
Connection: keep-alive
User-Agent: Mozilla/5.0 …
Run Code Online (Sandbox Code Playgroud)

java internet-explorer tomcat sessionid

8
推荐指数
3
解决办法
2万
查看次数

在PHP中跨服务器传输会话

我需要跨服务器传输用户会话.即.如果用户登录server1并且用户存在于server2中,那么我必须将用户会话详细信息传输到server2.为此,我使用了以下技术

从服务器1,用户重定向到HTTP://server2/auth_from_server1.php的sessionid = 12345? server2上(在内部,在auth_from_server1.php的PHP代码),执行的请求的HTTP://server1/secret/check_session_id.php与session1,12345.在server1上,在check_session_id.php的实现中,验证ID并返回OK,FAILURE和要传递的会话相关数据,例如用户名,...在server2上,当调用返回OK时,存储传输的会话数据,并为用户提供此服务器的cookie和会话.

但是当回调函数调用auth_from_server1.php时,session id中的值为null.我试着将sessionid检查为

if(isset($_SESSION['sessionId']))
echo 'true';
else
echo 'false';
Run Code Online (Sandbox Code Playgroud)

但$ _SESSION ['sessionId']为空.在登录页面中,我将会话ID的值设置为

$_SESSION['sessionId'] = session_id();
Run Code Online (Sandbox Code Playgroud)

提前致谢....

php session sessionid

8
推荐指数
2
解决办法
6404
查看次数

Constant Flask会话ID

我有一个Flask应用程序,使用Nginx + WSGI(FastCGI和Gevent)并使用标准的Flask会话.我使用session.permanent=True或任何其他额外选项,只需设置SECRET_KEY默认配置.

不会在会话中保存任何(键,值)对,并且只依赖该SID = session['_id']条目来标识返回的用户.我使用以下代码阅读SID:

@page.route ('/')
def main (page='home', template='index.html'):

    if not request.args.get ('silent', False):
        print >> sys.stderr, "Session ID: %r" % session['_id']
Run Code Online (Sandbox Code Playgroud)

我做了以下观察:

  1. 对于相同的IP地址,但不同的浏览器我得到的不同SIDs- 这是预期的;
  2. 对于不同的IP和相同的浏览器,我再次有不同的SIDs- 预期;
  3. 对于使用相同浏览器的相同IP地址,我SID也一样- 也是预期的;

现在,第(3)点很有意思,因为即使删除相应的cookie也SID保持不变!在某种程度上,即使这可能是可以理解的,但实际上我期望SID在不同的cookie之间进行更改.但我看到的唯一区别是

session.new is True
Run Code Online (Sandbox Code Playgroud)

对于第一个 cookie的删除后,立即请求.即使这是非常期待的; 但鉴于这些事实,我面临以下问题:

  1. 这是否意味着对于坐在同一 IP 后面的不同用户(使用相同的浏览器配置),我的后端会将它们误认为是同一个用户?

  2. 如果不是第(1)点,那么这些"粘性"会话的当前行为实际上非常令人愉快,因为这避免了我的用户可能因为删除了相应的cookie而丢失数据的情况.

    他们仍然可以通过使用相同的浏览器从同一网络重新访问该站点来节省时间.我喜欢这样,但只有 …

python session sessionid session-cookies flask

8
推荐指数
1
解决办法
2506
查看次数

在春天销毁另一个用户的会话

在我的应用程序中,我有一个可以删除用户的管理员.因此,当我从管理会话中删除用户时,我希望删除的用户应该自动注销.我知道我删除了用户的会话ID,但我不知道如何使用会话ID使会话无效.

我想要像:invalidate(SessionId);

有可能吗?我认为可以使用过滤器并根据请求检查每个数据库但是有另一种方法我不需要在每个httprequest上检查数据库吗?

谢谢.:d

session spring spring-security sessionid

8
推荐指数
2
解决办法
5351
查看次数

dialogflow-如何获取会话ID?

首先,我是一个使用dialogflow和Web服务的菜鸟。我正在尝试集成刚刚创建的dialogflow代理,并将其与本地计算机上的应用程序集成。我能够获得project_id和所有其他重要信息,但是无论我在哪里看,似乎都没有人谈论他们从哪里获得会话ID。这是我使用的音频到文本代码,是从api.ai github页面生成的:

import os
import dialogflow_v2 as dialogflow
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "My Google Credential"
project_id = 'project id'
session_id = "this i don't know where to get"
audio_file_path = 'my wave file directory name'
language_code = 'en'

def detect_intent_audio(project_id, session_id, audio_file_path,
                        language_code):
    """Returns the result of detect intent with an audio file as input.

    Using the same `session_id` between requests allows continuation
    of the conversaion."""

    session_client = dialogflow.SessionsClient()

    # Note: hard coding audio_encoding and sample_rate_hertz for simplicity.
    audio_encoding = dialogflow.enums.AudioEncoding.AUDIO_ENCODING_LINEAR_16
    sample_rate_hertz …
Run Code Online (Sandbox Code Playgroud)

python sessionid dialogflow-es

8
推荐指数
1
解决办法
7385
查看次数

asp.net sessionID更改回发?

我正在编写一个将对象存储在缓存中的asp.net应用程序.当页面第一次加载时,它会检查对象的缓存,如果有,它将使用该对象.如果该对象不存在,它将重新构建它并将其存储在缓存中.由于多个用户可以同时使用此应用程序,我试图将对象存储在缓存中,缓存键为SessionID.好吧,我注意到当页面回发时,sessionID发生了变化,所以我需要使用不同的唯一键.有什么建议?我正在考虑使用登录人员的userID,但这也不是唯一的,因为您可以多次使用相同的ID登录.

asp.net caching sessionid

7
推荐指数
2
解决办法
3706
查看次数

如何在ASP.NET中的多个Web应用程序中维护相同的会话ID

我在IIS上的不同虚拟目录上设置了两个相同的应用程序(我已经做了一些解决方法以确保它们都具有相同的应用程序名称).有没有办法在两个asp.net Web应用程序之间共享会话ID?

由于我将会话存储在StateServer中,因此它们都应该获得相同的会话数据,但是,每次从应用程序a到应用程序b时,都会创建不同的会话ID.这也不会在负载平衡场景中发生吗?当我去www.test.com时,它会将该请求重定向到服务器a,然后如果我再次点击它,它将转到服务器b,但由于它是一个不同的Web应用程序,它将创建一个新的会话ID ?

asp.net stateserver session-state sessionid

7
推荐指数
1
解决办法
2万
查看次数

使用Nodejs Connect重新生成会话ID

我正在使用Node.js服务器,我正在使用Connect框架进行开发.我试图在给定间隔后重新生成SID以避免会话固定.有一种名为req.session.regenerate的方法,根据文档,它应该做到这一点.

«要重新生成会话,只需调用该方法,一旦完成新的SID,会话实例将在req.session初始化»

示例代码:

req.session.regenerate(function(err){
    // will have a new session here
 });
Run Code Online (Sandbox Code Playgroud)

调用上面的方法后,我检查req.sessionID的值,发现该值与之前的值相同.

如果我尝试从req.session.regenerate中获取sessionID并将其写入终端,我会得到一个新的SID,这更令人困惑~IE为什么你想要仅在回调范围内生成SID?如果我将值赋给全局变量,则它的值是未定义的.

我有一种感觉,我忽视了一些非常明显的事情.

任何帮助表示赞赏.

javascript connect sessionid node.js

7
推荐指数
1
解决办法
3280
查看次数

从SessionID获取Windows用户名

C#中是否有方法从给定的会话ID中检索用户名?
(在系统上运行的任何会话)

Win API函数WTSQuerySessionInformation执行此操作,但我在C#中搜索此函数.

c# windows sessionid username

7
推荐指数
1
解决办法
7509
查看次数

每次刷新或访问页面时,Node js Express-Session 都会创建新的会话 ID

我面临的问题是:每次请求都会创建新的 sessionID。有人可以阐明这一点吗?

我正在使用的版本:

节点版本:v6.10.3 NPM 版本:3.10.10express@4.15.3express-session@1.15.3

另外,如果我没有专门设置 cookie,那么 maxAge 的默认值是多少?不确定是否需要。

您发现下面的代码有什么问题吗?请协助,因为我被困住了。

      var app = express();
        app.use(express.static(path.join(__dirname, 'landing')));
        app.use(bodyparser.json());
        app.set('trust proxy', 1) // trust first proxy
        app.use(session({
        secret: 'keyboard cat',
        resave: false,
        saveUninitialized: true,
        cookie: {secure: true}
    }))

    app.get('/', function (req, res) {
        res.sendFile(path.join(__dirname, 'landing', 'index.html'));
    });


    var contextPath = '/myportal';

    //UI url
    app.get(contextPath, function (req, res) {
        var reqValues;
              logger.info("req sessionID is :::" + req.sessionID);
           // do something
                } 
        app.use(express.static(path.join(__dirname, 'build'))); //react UI path
        res.sendFile(path.join(__dirname, 'build', 'index.html'));
  }    

    //health check …
Run Code Online (Sandbox Code Playgroud)

sessionid node.js npm express-session

7
推荐指数
1
解决办法
1万
查看次数