php - 我们应该使用什么技术来防止通过粘贴 cookie 自动登录?

标签 php javascript asp.net jsp

我读了http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html

Log into a website, copy the essential cookie values, then paste them into another browser running on another computer. That's all it takes. It's quite an eye opener.

我的问题是,如果我们使用 php/aspnet session ,这种方法是否也有效。

如果它确实有效,我们(作为 Web 开发人员)可以采用什么技术来防止这种技巧起作用。基本上我不希望用户仅通过粘贴 cookie 就能够登录到他的帐户,密码是必须的。

如果以上不可能,是否意味着即使对于 Gmail 这样的谷歌产品,我也可以通过某种方式登录我的帐户而不需要我的密码?

最佳答案

session 是 session - 通过在 cookie 中存储 ID token 来实现。您无法阻止在浏览器之间手动复制 cookie。

您可以尝试做一些事情,例如在他们登录时记录原始 User-Agent 字符串,并比较每次(如果他们使用 Firefox 登录,然后突然使用 Opera,hmmMmMmmmmmm)。 IP地址也一样……但是IP地址对于移动用户和使用多宿主代理服务器系统的人来说是有问题的,例如大多数AOL等。他们的 IP 可能会因每个请求而改变。

没有万无一失的方法可以防止无法绕过的 cookie 共享(更改浏览器的 UA,使它们都声称是单一类型/版本),或产生误报(由于代理导致 IP 更改)。

关于php - 我们应该使用什么技术来防止通过粘贴 cookie 自动登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6616624/

相关文章:

php - MVC - Codeigniter - 查看与模型对话

javascript - 文本框为空,需要警告

php - 在mysql中使用preg_replace

php - php 显示错误

javascript - TypeError : __WEBPACK_IMPORTED_MODULE_0_jquery___default(. ..)(...).XYZ 不是函数

javascript - Onclick 或 eventListener ('click' )未按预期调用该函数

asp.net - 在 Entity Framework 5 中重命名导航属性不会更新代码

asp.net - 如何使用 Wkhtmltopdf 转换器填充文本框?

javascript - 在 GWT 应用程序中集成 JS 库

asp.net - WebAPI方法需要文件上传和其他参数