吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 810|回复: 10
收起左侧

[经验求助] 怎么能设置Cookie不过期,或长时间后过期?

[复制链接]
lz856044 发表于 2024-5-20 23:04
25吾爱币
采集别人的网站,可是cookie只有15天就过期了,采集别的wordpress网站却有能保存1年的Cookie,

问题1.采集别人网站时,能否长期Cookie不过期,怎么做?
问题2.自己也有Wordpress站,怎么设置才能采集自己站也长期Cookie不过期,怎么做?


谢谢了!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sgywzx 发表于 2024-5-20 23:06
这个都是网站自己设置的时效,你自己改不了的
 楼主| lz856044 发表于 2024-5-20 23:07
sgywzx 发表于 2024-5-20 23:06
这个都是网站自己设置的时效,你自己改不了的

我也有Wordpress站,怎么设置过期时间?
NEmo11 发表于 2024-5-22 11:42
给你看下我的webapi代码,通常在这里设置cookie的过期时间
[C#] 纯文本查看 复制代码
builder.Services
    .AddAuthentication("MyCookieAuth")
    .AddCookie(
        "MyCookieAuth",
        options =>
        {
            options.Cookie.Name = "MyCookieAuth";
            options.ExpireTimeSpan = TimeSpan.FromMinutes(15);
        }
    );


其中options.ExpireTimeSpan = TimeSpan.FromMinutes(15);这里就是过期时间。
NEmo11 发表于 2024-5-22 11:49
如果是采用JWT验证的时候,Token的过期时间是类似下面这样的
[C#] 纯文本查看 复制代码
var secretKey = Encoding.ASCII.GetBytes(
    configuration.GetValue<string>("SecretKey") ?? ""
);

//生成JWT Token
var jwt = new JwtSecurityToken(
    claims: claims,
    notBefore: DateTime.UtcNow,
    expires: expireAt,
    signingCredentials: new SigningCredentials(
        new SymmetricSecurityKey(secretKey),
        SecurityAlgorithms.HmacSha256
    )
);
return new JwtSecurityTokenHandler().WriteToken(jwt);


在生成JWT token的时候,会添加上你的过期时间   expires: expireAt     这些例子就是告诉你,这是人家服务器端设置的,你改不了,知道到期以后,重新登录。
AlexBruce 发表于 2024-5-22 13:08
cookie的过期时间是服务端程序设置的,不同的语言和框架有不同的设置方式。

你采集别人的网站,我不太懂是什么意思,如果只是采集了别人的一些数据,内容,那么和cookie是无关的。

你自己的站点,你拥有全部的权限,是可以设置cookie的,具体怎么设置可以搜搜,比如WordPress如何设置cookie有效期。
 楼主| lz856044 发表于 2024-5-25 11:47
NEmo11 发表于 2024-5-22 11:49
如果是采用JWT验证的时候,Token的过期时间是类似下面这样的
[mw_shl_code=csharp,true]var secretKey = E ...

wordpress再哪设置?知道么?谢谢
 楼主| lz856044 发表于 2024-5-25 11:48
AlexBruce 发表于 2024-5-22 13:08
cookie的过期时间是服务端程序设置的,不同的语言和框架有不同的设置方式。

你采集别人的网站,我不太懂 ...

那我应该怎么设置呢?wordpress
NEmo11 发表于 2024-5-25 22:32
你得先看看你是通过什么验证身份的,JWT还是Cookie
NEmo11 发表于 2024-5-25 22:33
在WordPress中,定义cookie或token的过期时间主要涉及到设置cookie的过期时间(expires)属性。以下是一些常用的方法来设置cookie的过期时间:

1. 使用PHP原生函数设置cookie
在WordPress中,你可以使用PHP的setcookie()函数来设置cookie。例如:

setcookie("cookie_name", "cookie_value", time() + 3600, "/"); // 设置cookie在1小时后过期
其中,time() + 3600表示从当前时间起1小时后的Unix时间戳,"/"表示cookie的作用域为整个网站。

2. 使用WordPress函数设置cookie
WordPress提供了wp_set_auth_cookie()函数来设置认证cookie,这个函数允许你设置cookie的过期时间。例如:

wp_set_auth_cookie($user_id, $remember = true, is_ssl());
$user_id是用户的ID。
$remember参数如果设置为true,则cookie将持久化,通常为两周时间。
is_ssl()用于确定是否使用安全的连接。
如果你需要自定义过期时间,可以修改WordPress的auth_cookie_expiration过滤器:

add_filter('auth_cookie_expiration', function() {
    return time() + 3600; // 设置cookie在1小时后过期
});
3. 使用插件
WordPress有许多插件可以帮助你管理cookie和token,包括设置过期时间。你可以搜索并安装一个适合你需求的插件。

4. 使用JavaScript设置cookie
如果你在前端使用JavaScript,可以使用document.cookie来设置cookie:

document.cookie = "cookie_name=cookie_value; expires=" + new Date(new Date().getTime() + 3600000).toUTCString() + "; path=/";
new Date().getTime() + 3600000设置cookie在1小时后过期,JavaScript中时间是以毫秒为单位的。
toUTCString()将日期转换为UTC时间字符串。
注意事项:
确保你了解不同浏览器对cookie的策略,以及用户可能设置的隐私选项,这可能会影响cookie的存储和过期。
如果你使用第三方服务(如Google Analytics),请确保遵守其关于cookie使用的规定。
在设置cookie时,考虑用户的隐私和安全,合理设置过期时间,避免不必要的数据泄露。
通过以上方法,你可以在WordPress中定义cookie或token的过期时间。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 11:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表