PHP cookie 和会员安全

2024-05-06

我创建了一个论坛,该论坛在登录时使用 PHP 会话来确定用户 ID,并使用 cookie 来进行日志登录。

我想我有两个问题:

  1. 这是最好/最安全的方法吗?
  2. 可以使用javascript通过地址栏手动添加cookie,这是一个巨大的安全风险。有没有办法解决?

Thanks!


首先,确保您使用的是 https 而不是 http。这将防止您的流量被嗅探和利用。

其次,生成尽可能随机的值以用作 cookie 中的标记。这就是许多大型网站进行用户跟踪的方式。在服务器端有一个用户的令牌映射来跟踪身份。请记住:来自客户端的任何内容都是不可信的并且可能被篡改。

第三,使用HMAC https://en.wikipedia.org/wiki/Hash-based_message_authentication_code使篡改变得更加困难。您不希望用户能够暴力破解其他令牌。

EDIT:

当您构建此系统时,您可能会发现这些其他问题/答案很有帮助:

  1. 有关创建和使用令牌的详细信息(不一定是适用的 REST 服务):REST Web 服务身份验证令牌实施 https://stackoverflow.com/questions/15490265/rest-web-service-authentication-token-implementation/15490642#15490642

  2. 创建好的令牌(不要使用 microtime):使用 microtime() 生成密码重置令牌是不好的做法 https://stackoverflow.com/questions/15527706/is-using-microtime-to-generate-password-reset-tokens-bad-practice/15530476#15530476

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP cookie 和会员安全 的相关文章

  • 让浏览器缓存我的动态 PHP 样式表

    我想在 PHP 文件 styles php 中创建一个样式表 以便样式表变得动态 具体取决于请求的用户 对于每个单独的用户来说 样式表是不变的 因此应该缓存在他的客户端浏览器上 我读过 您可以通过设置内容类型和缓存控制等标头来实现此目的 但
  • 如何在 laravel eloquent 中保存布尔值

    我在 Laravel 中进行了以下迁移
  • 使用 CSS 让图像位于文本后面并使其保持在中心位置

    我正在创建一个网页 其中有一个要放置在中心的图像 在该图像的顶部 我想要有输入框 标签和提交按钮 我正在尝试使用这个CSS img center z index 1 但这不起作用 当我将代码更改为 img center position a
  • PHP Microsoft Excel 文件生成/导出类

    我一直在寻找一个好的 Excel 文件生成类 但还没有找到 我的首要问题是 虽然我可以在 Excel 中打开导出的文件 运行 2007 年 但我总是收到一条警告 文件的格式与文件扩展名不同 我注意到 phpMyAdmin 中的 Excel
  • 如何在 PHP >= 5.4 的特征中重载类构造函数

    在 PHP 5 中 我可以重载构造函数 以及任何其他方法 但是如果我得到这样的代码 class Base public function construct a b echo a b public function sayHello ech
  • 地理位置邻近搜索

    应用程序中有一个要求 要求在谷歌地图中找出与特定国家和 或城市绑定的所有对象 我们使用谷歌地图 API 预先计算了具有各自纬度和经度的对象并将其存储在数据库中 有时 这些对象在它们可以提供服务的特定服务范围 半径内提供服务 例如现在的情况就
  • 为什么使用 mysql_real_escape_string,addslashes 不会阻止一切?

    我正在查看文档并偶然发现了 mysql real escape string 我不明白为什么当您可以只使用addslashes 时它很有用 有人可以向我展示一个场景来说明它为什么有用吗 我也很好奇为什么它需要数据库连接 这似乎是一个很大的开
  • Bootstrap 4 列和行产生不需要的填充[重复]

    这个问题在这里已经有答案了 我正在尝试使用 bootstrap 创建列和行来放置我的图像 但是在图像周围添加了太多的填充 这导致我的图像看起来不像设计 这就是我构建 HTML 的方式
  • 如何知道 PHP require_once() 语句中使用的正确路径

    正如许多人一样 我在 Web 应用程序的根目录中有一个 config php 文件 我想将其包含在几乎所有其他 php 文件中 所以他们中的大多数都有这样的一行 require once config php 或有时 require onc
  • PHP 中如何处理重复的表单输入?

    我有一个通过电子邮件发送 php 脚本的表单 网站的上下文使我有必要在用户单击按钮时添加重复的表单字段 如何正确处理表单输入 例如 我有一个车辆表单 当用户单击 添加车辆 时 我会附加几个车辆表单组的副本 这些表单输入具有相同的 名称 并且
  • PHP:从字符串中修剪子字符串的最佳方法

    想要处理一组字符串 并修剪一些结尾 myEnding 从最后每个字符串的如果存在的话 最简单的方法是什么 我知道使用正则表达式一切皆有可能 但这似乎是一项简单的任务 我想知道是否存在一个简单的工具来实现这一点 Thanks Gidi 我选择
  • HTML5 Safari iOS 仅访问相机而不访问照片库

  • 通过 PHP 脚本重新启动 Nginx

    我目前正在努力使我的 WordPress 插件与 nginx 兼容 该插件需要访问 conf文件在wp content uploads目录 以便它可以添加所需的规则 目前 它更新了 htaccess文件位于同一目录中 更改立即生效 无需干预
  • Internet Explorer 11 不会在网站上设置 cookie

    由于某种原因 IE11 仅限 IE11 与其他 IE9 和 IE10 一起测试 不会在我一直在处理的网站上创建会话 因此 这意味着网站登录等基本功能将无法使用 在其他浏览器上 这工作得很好 我研究了一下 发现 IE 不能与带下划线的域一起使
  • 如何设置cookie值?

    我正在执行以下操作来设置 cookie 值 HttpCookie mycookie new HttpCookie mycookie mycookie Value value1 Case sensitivity mycookie Expire
  • PHP MCRYPT 加密/解密返回不可见的奇怪字符?

    mcrypt decrypt给了我额外的不可见字符 这些字符通过在页面上回显是不可见的 只能通过将其写入文本文件来查看 也就是说 只显示在页面上就可以了 而且很难被注意到 这是谷歌搜索的代码示例 请指导我正确的用法是什么 有什么问题吗 fu
  • 我仍然认为在客户端哈希密码更好。我错了吗?

    我读过这些 https hackernoon com im harvesting credit card numbers and passwords from your site here s how 9a8cb347c5b5 https
  • 参考指南:这个符号在PHP中是什么意思? (PHP 语法)

    这是什么 这是关于 PHP 语法时不时出现的问题的集合 这也是一个社区 Wiki 因此邀请每个人参与维护此列表 为什么是这样 过去很难找到有关运算符和其他语法标记的问题 主要思想是提供 Stack Overflow 上现有问题的链接 这样我
  • 我如何加入 Eloquent:关系?

    我的查询是这样的
  • 从路径中删除不必要的斜杠

    path home to my site 我正在尝试删除不必要的正斜杠 从上面的路径 我正在努力得到这个结果 home to my site 我失败了str replace 因为我不知道斜线的数量 优雅的解决方案 With preg rep

随机推荐

  • 编译时映射和逆映射值

    有人可以推荐一种更优雅的方法来实现这些编译时常量吗 template
  • 计算 HBase 表中列族的记录数

    我正在寻找一个 HBase shell 命令来计算指定列族中的记录数 我知道我可以运行 echo scan table name hbase shell grep column family name wc l 然而 这将比标准计数命令运行
  • 如何在 angularFire 0.5.0 和最新的 ng-grid 之间创建 3 路数据绑定?

    angularFire bind 方法可以在这里找到 http angularfire com flatdoc html http angularfire com flatdoc html最新的 ng grid 可以在这里找到 http a
  • 加快写入多个图像 TIFF 的速度?

    我正在尝试将图像堆栈写入 TIFF 文件 图像大小为 256 256 像素 每个堆栈包含 1000 张图像 编写其中一个文件大约需要 4 分钟 所以我的代码很可能有问题 这就是我正在做的 void Tiff WriterSplit floa
  • 如何从 Symfony2 中的数据库加载配置设置?

    我当前在 config yml 文件中有许多设置 展望未来 我希望能够开发一个界面 管理员可以在其中更新这些设置 因此我希望能够通过数据库管理这些设置 我如何能够将这些设置从数据库加载到 Symfony2 中 以及在何时何地加载它们 Che
  • 如何给MySQL表添加主键?

    这是我尝试过的 但失败了 alter table goods add column id int 10 unsigned primary AUTO INCREMENT 有人有提示吗 添加列后 您可以随时添加主键 ALTER TABLE go
  • 如何在 Android 模拟器中模拟真实的外部 SD(更新:可移动存储)卡

    我尝试模拟外部 SD 卡 就像在真实设备中一样 在真实设备中 除非使用新的 存储访问框架 API 21 和 22 否则外部 SD 卡不可写入 当我添加带有文件或大小的 SD 卡时 我总是得到一个可写的 SD 卡 这对于真实的设备来说是不正确
  • 值得学习的优秀 Zend Framework 示例应用程序 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • python:无效的base64编码字符串:数据字符数(5)不能多于4的倍数1

    输出以下错误 异常值 Base64 编码字符串无效 数据字符数 5 不能多于 4 的倍数 1异常位置 b64decode 中的 D Program Files Python lib base64 py 第 87 行 我这样输入 python
  • 使用 ocaml List.fold_left 列表中的最后一个元素

    我可以通过以下代码找到列表的最后一个元素 let last xs a list a let rec aux xs prev match xs with gt prev x ys gt aux ys x in match xs with gt
  • Symfony2 - ReferencedColumnName id 为空

    我要放弃食谱文章了表单集合 http symfony com doc current cookbook form form collections html但是 当尝试将其保留到数据库时 我收到约束冲突错误 引用的列名称 id 为空 SQL
  • 如何将手动更改导入 Terraform 远程状态

    我是 terraform 的新手 我已经在 s3 中创建了远程 tfstate 现在在我的 AWS 基础设施中也完成了一些手动更改 我需要将这些手动更改导入 tfstate 我对某些资源使用了导入命令 但对于某些资源 例如 IAM 策略等
  • 将 NSDictionary 保存到 plist

    我正在使用这篇文章中找到的代码 Plist 中的多个数组 https stackoverflow com questions 6192451 mulitple arrays from plist 6193397 6193397 具有相同的
  • 如何重置 pandas 数据框中的索引? [复制]

    这个问题在这里已经有答案了 我有一个数据框 从中删除了一些行 结果 我得到一个数据帧 其中索引是这样的 1 5 6 10 11 我想将其重置为 0 1 2 3 4 我该怎么做 以下似乎有效 df df reset index del df
  • 查找 Obj-C 中对象实例的所有引用

    我正在尝试找出一些错误 其中之一与内存泄漏有关 我可以看出该对象仍然有一个引用 因为 Instruments 仍然将其显示为活动状态 但 Instruments 不会将其注册为泄漏 无论如何 有没有办法查看 Objective C 中对象的
  • 如何使用 PHP 检测 zip 炸弹?

    我正在制作一个 PHP 脚本 用于检索用户给定的 zip 文件 将其解压缩 并使用其中的文件执行一些操作ZipArchive目的 我怎样才能避免像这样的拉链炸弹42 zip http www unforgettable dk 查看 zip
  • 是否可以一次显示 HTML 选择表单字段中的所有选项,而无需单击它?

    我正在使用 X Editable jQuery 就地编辑库作为任务状态选择字段 整个过程的所有阶段如下所示 单击状态 然后 它隐藏状态 SPAN 并显示隐藏的选择字段 您可以单击选择字段 使其下拉并显示所有可用选项 单击新的选择选项值 然后
  • 在 Swift 中获取可见的 IndexPath UICollectionView

    如何获得visible IndexPath while scrolling in collectionView 我参考了很多link1 https stackoverflow com questions 30281451 iterate o
  • Azure DocumentDB 本地模拟器是否支持 mongodb 协议?

    Azure DocumentDB 本地模拟器是否支持类似于 Azure 托管 DocumentDB 中可用的 MongoDB 协议的 mongodb 协议 我没有看到启动本地模拟器时指定协议的方法 是的 Azure DocumentDB 模
  • PHP cookie 和会员安全

    我创建了一个论坛 该论坛在登录时使用 PHP 会话来确定用户 ID 并使用 cookie 来进行日志登录 我想我有两个问题 这是最好 最安全的方法吗 可以使用javascript通过地址栏手动添加cookie 这是一个巨大的安全风险 有没有