GVKun编程网logo

php – 如何使用户会话持续24小时?(php会话机制)

10

如果您想了解php–如何使用户会话持续24小时?和php会话机制的知识,那么本篇文章将是您的不二之选。我们将深入剖析php–如何使用户会话持续24小时?的各个方面,并为您解答php会话机制的疑在这篇文

如果您想了解php – 如何使用户会话持续24小时?php会话机制的知识,那么本篇文章将是您的不二之选。我们将深入剖析php – 如何使用户会话持续24小时?的各个方面,并为您解答php会话机制的疑在这篇文章中,我们将为您介绍php – 如何使用户会话持续24小时?的相关知识,同时也会详细的解释php会话机制的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

php – 如何使用户会话持续24小时?(php会话机制)

php – 如何使用户会话持续24小时?(php会话机制)

我已经搞乱了我的apache和PHP.ini文件,我的网站的用户仍然抱怨网站在很短的时间后或每次关闭并打开相同的浏览器时将它们记录下来.

我正在运行Apache和PHP.

我应该使用什么设置才能让用户会话进行24小时,这样他们就不必每次都重新登录?

谢谢,
亚历克斯

在PHP.ini中,设置:
; 24 hour session cookie
session.cookie_lifetime = 86400

; Prevent server from cleaning up session
; Some value higher than the cookie lifetime
session.gc_maxlifetime = 200000

ios – 如何使用parse终止重复的用户会话?

ios – 如何使用parse终止重复的用户会话?

我希望我的PFSession是独占的,意思是,如果用户已经在某个位置的某个设备上登录,如果另一个设备使用相同的凭据登录,我希望先前的会话终止,并显示一条消息警报视图当然.有点像旧的AOL即时消息格式.那么有谁知道我会如何快速地这样做?它需要CoreLocation吗?

我在当前用户位置找到了这篇文章,如何将其作为我问题解决方案的一部分?

https://www.veasoftware.com/tutorials/2014/10/18/xcode-6-tutorial-ios-8-current-location-in-swift

UPDATE

所以我刚刚阅读了关于其可撤销会话设置的解析文章

http://blog.parse.com/announcements/announcing-new-enhanced-sessions/

但是,当我使用其他设备登录同一帐户时,会话被允许相应地生活,这是我不想要的.我该如何解决我的困境?

UPDATE

我已经得到了关于如何实现我想要实现的整体方法的非常详细的描述:

但是我不太熟悉云代码实现,有人可以非常简单地描绘一段类似于他试图转发给我的代码吗?

UPDATE

所以我做了一些更多的研究,并且在我关于如何在解析中使用云代码调用方面被告知,并且我想要销毁currentUser的先前会话,我在登录中写了以下代码“成功“逻辑:

PFUser.logInWithUsernameInBackground(userName,password: passWord) {
        (user,error: NSError?) -> Void in
        if user != nil || error == nil {
            dispatch_async(dispatch_get_main_queue()) {
                self.performSegueWithIdentifier("loginSuccess",sender: self)

                 PFCloud.callFunctionInBackground("currentUser",withParameters: ["PFUser":"currentUser"])
                    //..... Get other currentUser session tokens and destroy them

            }

        } else {

如果那甚至是正确的格式或代码,但我确定这是正确的方向吗?任何人都可以编辑或扩展我想要实现的代码吗?

解决方法

你应该从查看 cloud code quick start开始
然后,您将定义以下云代码功能:
Parse.Cloud.define('destroyUserSessions',function(req,res) {
    //the user that sends the request
    var currentUser = req.user;
    //send from client 
    var currentUserInstallationId = req.param.installationId;
    var Session = Parse.Object.extend('Session');
    var userSessionQuery = new Parse.Query(Session);
    //all sessions of this user
    userSessionQuery.equalTo('user',currentUser);
    //except the session for this installation -> to not log the request performing user out
    userSessionQuery.notEqualTo('installationId',currentUserInstallationId);

    userSessionQuery.find({
        success: function(userSessionsToBeRevoked) {
            Parse.Object.destroyAll(userSessionsToBeRevoked,{
                success: function() {
                    //you have deleted all sessions except the one for the current installation
                    var installationIds = userSessionsToBeRevoked.map(function(session) {
                        return session.installationId;
                    }); 
                    //you can use the installation Ids to send push notifications to installations that are Now logged out
                },error: function(err) {
                    //Todo: Handle error
                }
            });
        },error: function(err) {
            //Todo: Handle error
        }
    });
});

注意:此代码未经过测试,并进行了一些假设,例如您启用了可撤销会话,并且在执行请求时有用户登录

您可以像这样调用函数:

let installationId = PFInstallation.currentInstallation().installationId

PFCloud.callFunctionInBackground("destroyUserSessions",withParameters: ["installationId": installationId]) { success,error in 
    //Todo: Handle success or errors
}

希望这可以帮助你入门.

javascript - php如何把时间戳按照全天24小时一个小时,一个小时的显示

javascript - php如何把时间戳按照全天24小时一个小时,一个小时的显示

数据我们已经有了,但是如何把这批数据按照全天24小时制,每一个小时一个小时的格式展示出来呢?
比如说:0点-1点:5

   1点-2点:0
   2点=3点:6
   这个样子去展示。。。
   
登录后复制
登录后复制

回复内容:

数据我们已经有了,但是如何把这批数据按照全天24小时制,每一个小时一个小时的格式展示出来呢?
比如说:0点-1点:5

   1点-2点:0
   2点=3点:6
   这个样子去展示。。。
   
登录后复制
登录后复制

亲,你自己读一下,你觉得别人能看懂吗。
自己查mysql的手册吧,只要使用时间格式化函数就行了,我懒得去找了。
打比方说 formatTime(''Y-m-d h'', ''2006-11-23 18:00:05'')能得到结果 2006-11-23 18的话
select *, formatTime(''h'', time) as h from yourTable where formatTime(''Y-m-d'', time) = ''2016-02-30'' order by h

javascript – 如何使用客户端会话持续时间和activeDuration使会话最后持续30天

javascript – 如何使用客户端会话持续时间和activeDuration使会话最后持续30天

根据 https://github.com/mozilla/node-client-sessions#usage
var sessions = require("client-sessions");
app.use(sessions({
  cookieName: 'mySession',// cookie name dictates the key name added to the request object
  secret: 'blargadeeblargblarg',// should be a large unguessable string
  duration: 24 * 60 * 60 * 1000,// how long the session will stay valid in ms
  activeDuration: 1000 * 60 * 5 // if expiresIn < activeDuration,the session will be extended by activeDuration milliseconds
}));

我希望用户的会话最多有效30天.如果我将持续时间设置为30天,将活动持续时间设置为30天,我想我最终将会有60天的会话时间.

如果我将持续时间设置为15天并且将活动持续时间设置为15天,那么登录的用户不会在15天内完成任何操作(不是我希望那种用户行为,但我的假设是否正确? )

我想要的只是每次用户访问网站以获得30天才需要重新登录.我该如何获得这种行为?

解决方法

您可以使用快速会话NPM来实现您的功能:

这是代码和参考链接:

码:

let session = require('express-session')
let time = new Date(Date.Now() + (30 * 86400 * 1000))
let app = express()
let sess = {
  secret: 'keyboard_cat',cookie: { maxAge: time }
}

if (app.get('env') === 'production') {
  app.set('trust proxy',1) // trust first proxy
  sess.cookie.secure = true // serve secure cookies
}

app.use(session(sess))

app.use(session({
  genid: function(req) {
    return genuuid() // use UUIDs for session IDs
  },secret: 'keyboard cat'
}))

//call your route and do session things here
app.get('/',function(req,res,next) {
  if (req.session.views) {
    req.session.views++
    res.setHeader('Content-Type','text/html')
    res.write('<p>views: ' + req.session.views + '</p>')
    res.write('<p>expires in: ' + (req.session.cookie.maxAge / 1000) + 's</p>')
    res.end()
  } else {
    req.session.views = 1
    res.end('welcome to the session demo. refresh!')
  }
})

有关更多信息,请参阅此链

NPM package

example

Node.js setTimeout持续24小时-有任何警告吗?

Node.js setTimeout持续24小时-有任何警告吗?

一个简单的问题,我想将24或12个小时的超时设置Node.js为定期(每天一次或两次)来检查一些数据库数据并清除可疑垃圾(如果有)。

我需要注意由于设置了巨大的超时而引起的任何可能的问题或性能问题吗?我不介意毫秒数不是精确的12-24小时,也不介意在服务器崩溃时丢失此超时,因为无论如何我将在服务器启动时运行相同的垃圾收集器。

结论:

  • 我没有使用本机OS cron运行单独的脚本,因为我需要访问此脚本中的当前Node.js进程数据。
  • 最后,我决定使用https://www.npmjs.com/package/cron 软件包,因为它具有在特定时间(大概是在服务器负载较低时)进行退避的能力。
  • 感谢大家的快速回复!

今天关于php – 如何使用户会话持续24小时?php会话机制的分享就到这里,希望大家有所收获,若想了解更多关于ios – 如何使用parse终止重复的用户会话?、javascript - php如何把时间戳按照全天24小时一个小时,一个小时的显示、javascript – 如何使用客户端会话持续时间和activeDuration使会话最后持续30天、Node.js setTimeout持续24小时-有任何警告吗?等相关知识,可以在本站进行查询。

本文标签: