标签: session-cookies

使JSON Web令牌无效

对于我正在研究的新node.js项目,我正在考虑从基于cookie的会话方法切换(我的意思是,将id存储到包含用户浏览器中的用户会话的键值存储)使用JSON Web令牌(jwt)进行基于令牌的会话方法(无键值存储).

该项目是一个利用socket.io的游戏 - 在一个会话中将有多个通信通道(web和socket.io)的情况下,基于令牌的会话将非常有用.

如何使用jwt方法从服务器提供令牌/会话失效?

我还想了解在这种范例中我应该注意哪些常见(或不常见)的陷阱/攻击.例如,如果此范例容易受到与基于会话存储/ cookie的方法相同/不同类型的攻击.

所以,说我有以下(改编自这个这个):

会话商店登录:

app.get('/login', function(request, response) {
    var user = {username: request.body.username, password: request.body.password };
    // Validate somehow
    validate(user, function(isValid, profile) {
        // Create session token
        var token= createSessionToken();

        // Add to a key-value database
        KeyValueStore.add({token: {userid: profile.id, expiresInMinutes: 60}});

        // The client should save this session token in a cookie
        response.json({sessionToken: token});
    });
}
Run Code Online (Sandbox Code Playgroud)

基于令牌的登录:

var jwt = require('jsonwebtoken');
app.get('/login', function(request, response) {
    var user = {username: request.body.username, …
Run Code Online (Sandbox Code Playgroud)

javascript session session-cookies node.js jwt

357
推荐指数
14
解决办法
17万
查看次数

如何使用cURL发送Cookies?

我读到发送带有卷曲作品的饼干,但不适合我

我有一个REST端点作为

class LoginResource(restful.Resource):
    def get(self):
        print(session)
        if 'USER_TOKEN' in session:
            return 'OK'
        return 'not authorized', 401
Run Code Online (Sandbox Code Playgroud)

当我尝试访问时

curl -v -b ~/Downloads/cookies.txt -c ~/Downloads/cookies.txt http://127.0.0.1:5000/
* About to connect() to 127.0.0.1 port 5000 (#0)
*   Trying 127.0.0.1...
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.27.0
> Host: 127.0.0.1:5000
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 401 UNAUTHORIZED
< Content-Type: …
Run Code Online (Sandbox Code Playgroud)

rest session curl session-cookies flask

272
推荐指数
6
解决办法
38万
查看次数

PHP会话固定/劫持

我正在尝试更多地了解PHP 会话修复和劫持以及如何防止这些问题.我一直在阅读Chris Shiflett网站上的以下两篇文章:

但是,我不确定我是否理解正确的事情.

为了帮助防止会话固定,调用session_regenerate_id(true)就足够了; 成功登录某人后?我想我理解正确.

他还讨论了通过$ _GET使用在URL中传递的令牌来防止会话劫持.怎么会完全这样做?我猜测当有人登录时你生成他们的令牌并将其存储在会话变量中,然后在每个页面上你将该会话变量与$ _GET变量的值进行比较?

这个令牌只需要在每个会话或每个页面加载时更改一次吗?

他们是一个防止劫持而不必在网址中传递值的好方法吗?这会更容易.

php security session session-cookies

145
推荐指数
3
解决办法
6万
查看次数

重定向后PHP会话丢失

如何在PHP中重定向后解决丢失会话的问题?

最近,我遇到了一个非常常见的重定向失败会话问题.在搜索了这个网站后,我仍然找不到解决方案(虽然是最接近的).

更新

我找到了答案,我想我会在这里发布,以帮助遇到同样问题的人.

php session redirect shared-hosting session-cookies

122
推荐指数
6
解决办法
17万
查看次数

如何进行无状态(无会话)和无cookie身份验证?

Bob使用Web应用程序来实现某些目标.和:

  • 他的浏览器正在节食,因此它不支持cookie.
  • Web应用程序是一个受欢迎的应用程序,它在特定时刻处理许多用户 - 它必须很好地扩展.只要保持会话会对同时连接的数量施加限制,并且当然会带来不可忽视的性能损失,我们可能希望有一个无会话系统:)

一些重要的说明:

  • 我们有运输安全(HTTPS及其最好的朋友);
  • 在幕后,Web应用程序代表当前用户将大量操作委托给外部服务(这些系统确实将Bob视为其用户之一) - 这意味着我们必须转发Bob的凭据.

现在,我们如何验证Bob(在每个请求上)?哪个是合理的方式来实现这样的事情?

  • 通过HTML表单隐藏字段网球凭证... 包含凭据(用户名和密码),两个球拍分别是浏览器和Web应用程序.换句话说,我们可以通过表单字段而不是通过cookie来回传输数据.在每个Web请求中,浏览器都会发布凭据.虽然,在单页应用程序的情况下,这可能看起来像在橡胶墙上打壁球而不是打网球,因为包含凭证的Web表单可能在网页的整个生命周期(和服务器)中保持活动状态将被配置为不提供凭证).
  • 将用户名和密码存储在页面上下文中 - JavaScript变量等.这里需要单页,恕我直言.
  • 加密的基于令牌的身份验证 在这种情况下,登录操作将导致生成加密的安全令牌(用户名+密码+其他内容).该令牌将被返回给客户端,即将到来的请求将伴随令牌.这有意义吗?我们已经有了HTTPS ...
  • 其他...
  • 不得已:不要这样做,在会话中存储凭据!会议很好.有或没有饼干.

对于任何先前描述的想法,是否存在任何网络/安全问题?例如,

  • 超时 - 我们可以保留时间戳和凭证(时间戳= Bob输入凭证的时间).例如,当NOW - timestamp> threshold时,我们可能会拒绝该请求.
  • 跨站点脚本保护 - 不应该有任何不同,对吧?

非常感谢您花时间阅读本文:)

security authentication stateless cookieless session-cookies

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

服务器端cookie和客户端cookie之间有什么区别?

在服务器和客户端上创建cookie有什么区别?这些是服务器端cookie和客户端cookie吗?有没有办法创建只能在服务器或客户端上读取的cookie?

cookies http session-cookies

102
推荐指数
4
解决办法
13万
查看次数

Cookie"安全"标志如何工作?

我知道带有secure标志的cookie 不会通过未加密的连接发送.我想知道这是如何深入的.

谁负责确定是否会发送cookie?

cookies http session-cookies

91
推荐指数
2
解决办法
9万
查看次数

PHP中的session_unset()和session_destroy()有什么区别?

php.net文档:

session_destroy - 销毁注册到会话的所有数据

session_unset - 释放所有会话变量

我的三个部分问题是:

这两个功能看起来非常相似.
这两者之间究竟有什么区别?

两者似乎都删除了注册到会话的所有变量.它们中的任何一个实际上都会破坏会话本身吗 如果没有,你如何做到这一点(破坏会话本身).

这两个函数都没有删除客户端的会话cookie,这是正确的吗?

php session session-cookies

83
推荐指数
4
解决办法
6万
查看次数

如何在AngularJS中设置cookie的到期日期

  1. 我们希望将用户的授权信息存储在cookie中,在刷新(F5)浏览器时不应丢失.

  2. 我们希望将授权信息存储在"永久cookie"中,以防用户在登录时选择"记住我"复选框.

javascript cookies session-cookies angularjs angular-cookies

79
推荐指数
5
解决办法
9万
查看次数

如何删除ASP.NET网站上的cookie

在我的网站中,当用户点击"注销"按钮时,Logout.aspx页面会加载代码Session.Clear().

在ASP.NET/C#中,这是否清除了所有cookie?或者是否需要添加任何其他代码才能删除我网站的所有Cookie?

c# asp.net cookies session session-cookies

78
推荐指数
6
解决办法
19万
查看次数