cookies与会议

几个月前我开始使用PHP。 为了为我的网站创build一个login系统,我阅读了关于cookie和会话及其差异(cookie存储在用户的浏览器和服务器上的会话)。 那时候,我更喜欢cookies(而不喜欢cookies?!),只是说:“谁在乎呢?我把它存储在我的服务器上没有什么好处理,所以我继续使用cookies我的学士gradle项目。 然而,在做了我的应用程序的大部分之后,我听说对于存储用户ID的特殊情况,会话更合适。 所以我开始考虑如果陪审团问我为什么使用cookies而不是会话,我会说些什么? 我只是这个原因(我不需要存储有关用户的内部信息)。 这足够作为一个原因吗? 还是不止这个?
你能告诉我使用cookies保留用户ID的优点/缺点吗?

感谢您在StackOverflow中的所有!

这个概念是为网页访问者在页面加载中存储持久性数据。 Cookies将其直接存储在客户端上。 会话使用cookie作为sorting的关键,与存储在服务器端的数据相关联。

最好使用会话,因为实际值对客户端是隐藏的,而且您可以控制数据何时到期并变为无效。 如果全部基于cookie,用户(或黑客)可以操纵他们的cookie数据,然后播放请求到您的网站。

编辑:我认为没有任何优势使用cookie,除了简单。 看看这种方式…用户是否有任何理由知道他们的ID号? 通常我会说不,用户不需要这些信息。 提供信息应限于需要了解基础。 如果用户更改他的Cookie以获得不同的ID,那么应用程序将如何响应? 这是一个安全风险。

在会议开始之前,我基本上有自己的实施。 我在客户端存储了一个唯一的cookie值,并将该持久数据与该cookie值一起存储在数据库中。 然后在页面请求我匹配这些值,并有我的持久性数据,而不让客户端控制那是什么。

区分这两者的基本思路。

会议:

  1. IDU存储在服务器(即服务器端)
  2. 更安全(因为1)
  3. 过期不能设置,会话variables将在用户closures浏览器时过期。 (现在它在PHP中默认存储了24分钟)

cookies:

  1. IDU存储在网页浏览器(即客户端)
  2. 不是很安全,因为黑客可以获取和获取您的信息(因为1)
  3. 过期可以设置(更多信息请参阅setcookies() )

如果您需要存储短期信息/值,如计算,测量,查询等variables,则会话是首选。

如果您需要存储长期信息/值(例如用户帐户)(因此即使他们closures计算机2天,其帐户仍将被login),Cookie也是首选。 由于在大多数情况下都没有采用cookie,所以我想不出许多cookie的例子。

 SESSIONS ENDS WHEN USER CLOSE HIS BROWSER, COOKIES ENDS DEPENDING ON THE LIFE TIME YOU SET FOR IT. SO IT CAN LAST FOR YEARS 

这是主要的差异。 在你select的时候,

如果你想让idu被记住很久,那么你需要使用cookies,否则如果你只是想让网站认识到这个访问的用户,那么session就是你的人。

希望能帮助到你 :)

当您将#ID保存为cookie以识别login用户时,实际上是向与用户无关的用户显示数据。 此外,如果第三方试图在浏览器中设置随机ID作为cookie数据,他们将能够说服服务器,他们是一个用户,而他们实际上不是。 这是缺乏安全性。

你已经使用了cookies,正如你所说,你已经完成了大部分的项目。 除了cookie之外,还有很长一段时间的保留权限,而会话更快。 所以会议在这种情况下是不适合的。 在现实中,许多着名和stream行的网站和服务使用cookie,你可以保持login很长一段时间。 但是,你如何使用他们的方法来创build一个更安全的login过程?

这里的想法是:你可以帮助你使用cookies的方式:如果你使用随机密钥,而不是ID来识别login用户,首先,你不会泄漏你的主要数据给随机用户,其次,如果你认为随机键足够大,任何人猜测一个键或创build一个键都会更困难。 例如你可以在用户的​​浏览器中保存一个长度为40的关键字:“KUYTYRFU7987gJHFJ543JHBJHCF5645UYTUYJH54657jguthfn”,任何人都不太可能创build确切的关键字并假装是别人。

其实,session和cookies并不总是分开的东西。 会话通常但不总是使用cookie。

在这里的其他问题有一些很好的答案。 由于你的问题是关于保存用户的IDU(或ID),我不认为这是其他问题的重复,但他们的答案应该帮助你。

cookiesvs会议

cachingVS会话VS Cookie?

Session和Cookie有什么区别?

会话允许您像使用cookie一样存储单个信息片段,但数据存储在服务器而不是客户端。

会话和Cookie不一样。

会话用于存储来自网页的信息。 通常网页没有任何记忆来存储这些信息。 但是使用我们可以保存必要的信息。

但Cookie用于识别用户。 使用cookie,我们可以存储数据。 它是存储在用户网页浏览器中的一小部分数据。 所以每当用户浏览器下次浏览器发回cookie数据信息到服务器以获取以前的活动时。

积分: 会话和Cookie

正如其他人所说,会议是聪明的,并有更多的优势隐藏来自客户的信息。

但Cookie仍然至less有一个好处 ,您可以从Javascript访问您的Cookie(例如ngCookies )。 使用PHP会话,您无法在PHP脚本之外的任何地方访问它。

我将select会话,首先会话是更安全,然后cookie,cookie是客户端站点数据和会话是服务器站点数据。 Cookies用于识别用户,因为它是用用户计算机浏览器embedded到我的服务器中的小块代码。 另一方面,会话帮助你保护你的身份,因为Web服务器不知道你是谁,因为HTTP地址将状态192.168.0.1更改为765487cf34ert8ded … ..或其他数字借助GET和POST方法。 会话将用户的数据存储在唯一的ID会话中,甚至用户ID也不能相互匹配。 会话在一个应用程序的所有页面中存储单个用户信息。 Cookies过期在setcookies()的帮助下设置,而会话过期未设置,当用户closures浏览器时,会过期。

我个人使用cookies和会话。

只有在用户点击“记住我”checkbox时才使用Cookie。 并且cookie也被encryption ,数据只在服务器上解密 。 如果有人试图编辑cookie,我们的解密器能够检测到并拒绝请求。

我已经看到很多网站的login信息存储在cookie中 ,任何人都可以简单地更改cookie中的用户名和用户名以访问任何帐户。

谢谢,