成立个人工作室需要什么条件贵州整站优化seo平台

bicheng/2026/1/24 19:54:37/文章来源:
成立个人工作室需要什么条件,贵州整站优化seo平台,南京做南京美容整形网站,wordpress 批量替换相关知识 大多数网站都会使用 cookie 记录用户的身份。cookie 是由少量数据组成的字符串#xff08;通常还要经过加密#xff09;。网站会要求浏览器存储这些数据#xff0c;并在向服务端发起请求时将这些数据传回给服务端。 通常#xff0c;用于处理登录#xff08;识别…相关知识 大多数网站都会使用 cookie 记录用户的身份。cookie 是由少量数据组成的字符串通常还要经过加密。网站会要求浏览器存储这些数据并在向服务端发起请求时将这些数据传回给服务端。 通常用于处理登录识别用户身份的 cookie 分为两种 签名式 cookie 存储包含用户 ID 等可直接识别用户的信息附加一个签名核对 cookie 信息是否被恶意篡改令牌式 cookie 存储一个随机字符串令牌通过在服务端的数据库中查找随机字符串和用户的对应关系识别用户身份 这两种 cookie 各有优缺我们可以通过一个表格对比两者的优缺 类型优点缺点签名式 cookie直接存储用户信息方便验证用户身份可以包含额外信息对 cookie 进行签名较简单遗漏签名会导致安全漏洞加密方法不当会泄露用户敏感信息令牌式 cookiecookie 体积小可加快通信速度需要使用数据库存储令牌会造成额外开销 为了避免安全漏洞本关卡中我们使用令牌式 cookie。 这篇文章将教会你掌握1如何核对令牌2如何更新令牌3如何定期清理无用信息。 如何核对令牌 前面提到了令牌式 cookie 的最大缺点就是会造成额外开销。大多数关系型数据库在每台数据库服务器上只能插入、更新或删除 200 - 2000 个数据行/秒。当网站的负载变高时数据库就成为了瓶颈。所以我们需要使用 Redis 取代关系型数据库存放令牌。 首先我们约定令牌的存储方式。我们使用一个哈希存储登录令牌与用户的映射关系其中 哈希键名为 login登录令牌作为域用户 ID 作为值 所以核对令牌就变得十分简单方法如下 import redisconn redis.Redis()def check_token(token): return conn.hget(login, token) 我们使用 hget() 方法从 Redis 中取出并返回令牌对应的用户 ID而**当令牌不存在时该方法则会返回 None**从而达到核对检查的效果。 如何更新令牌 更新令牌需要做两个工作 记录用户令牌记录令牌生成时间 由于令牌存在被人窃取的可能所以我们不允许令牌永不过期。通过记录令牌生成的时间戳我们可以通过定期清理的方式清理掉一定时间前生成过老的令牌从而实现令牌的时限性在一定程度上也减少了 Redis 的存储量避免内存过高消耗。 使用有序集合记录令牌生成时间能让我们更便捷的根据时间戳对令牌进行排序然后再对一定时间前生成过老的令牌进行删除。将时间戳作为分值令牌作为成员记录到有序集合 recent:token 中 import timetimestamp time.time() #返回当前时间的时间戳1970年后经过的浮点秒数 conn.zadd(recent:token, token, timestamp) 而记录用户令牌可以使用 hset() 方法将 token 和 user_id 的域-值对关系记录到哈希中 conn.hset(login, token, user_id) 上述两个操作是相关的记录了用户令牌则应该也有对应的令牌生成时间所以我们应该使用事务将两条命令包起来最后一起提交给 Redis 处理 def update_token(token, user_id): timestamp time.time() pipe conn.pipeline() pipe.hset(login, token, user_id) pipe.zadd(recent:token, token, timestamp) pipe.execute() 如何定期清理无用信息 随着登录用户的增多令牌存储所需的内存也会不断增加这时我们需要定期清理过期的令牌数据。 决定令牌的有效时间需要权衡数据安全与用户体验两方面 有效时间过短则用户需要频繁的输入账户密码登入系统有效时间过长则令牌泄露的可能性增大伪造用户身份的可能性也越大 综合上述两个方面的考虑我们将令牌的有效时间设置为一个星期86400秒在每次清理令牌数据时我们找到令牌生成时间在一个星期前的数据并将这些令牌和令牌生成时间数据全部删除。 寻找一个星期前生成的令牌是关键我们可以使用当前 Unix 时间减去 86400 得到一个星期前的 Unix 时间戳然后使用有序集合命令 ZRANGEBYSCORE 获取有序集合 recent:token 中所有分值生成时间大于等于 0小于等于一个星期前的 Unix 时间戳的成员 one_week_ago_timestamp time.time() - 86400exipred_tokens conn.zrangebyscore(recent:token, 0, one_week_ago_timestamp) 接下来我们要从有序集合 recent:token 中删除掉 expired_tokens 的所有成员以及从哈希 login 中移除所有过期的 token 域。 为了减少客户端与 Redis 之间的通信次数我们可以直接使用 ZREMRANGEBYSCORE 命令移除有序集合 recent:token 中所有分值生成时间大于等于 0小于等于一个星期前的 Unix 时间戳的成员 conn.zremrangebyscore(recent:token, 0, one_week_ago_timestamp) conn.hdel(login, *expired_tokens) 我们使用了 hdel() 方法一次性从哈希 login 中移除了所有过期的 token 域由于 expired_tokens 是一个数组而客户端会默认将输入的值转换为字符串所以我们在这里要使用 *expired_tokens以指针的形式调用 expired_tokens 变量传入多个参数域。 让清理方法自动执行 你可以使用守护进程的方式来保证这个方法始终在运行也可以通过定时任务cron job每隔一段时间执行一次 因为这些知识超出了本实训的讲解范围在这里就不再详述。 编程要求 根据提示在右侧Begin-End区域补充代码完成令牌管理的后端处理逻辑 在 check_token(token) 方法中 使用 hget() 方法从哈希 login 中取出参数 token 域的值返回return上述值在 update_token(token, user_id) 方法中 参数说明 token 为令牌user_id 为该令牌对应的用户 ID 获得当前时间并赋值给 timestamp使用事务提交下列命令 将域 token 与值 user_id 对存入哈希键 login 中将成员 token 存入有序集合 recent:token 中分值为 timestamp在 clean_tokens() 方法中 使用当前时间减去 86400 得到一周前时间戳并赋值给 one_week_ago_timestamp使用 zrangebyscore 方法获取有序集合 recent:token 中 分值大于等于 0小于等于 one_week_ago_timestamp 的所有成员并赋值给变量 expired_tokens 使用 zremrangebyscore 方法移除有序集合 recent:token 中 分值大于等于 0小于等于 one_week_ago_timestamp 的所有成员 移除哈希 login 中所有与变量 expired_tokens 中相同的域 使用指针形式传入参数 *expired_tokens

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南京 推广 网站建设手机网站推广服务

下面为四种设备巡检命令,以便日常查阅: 华三 screen-length disable 取消分页 displayversion 查看版本 display clock 查看日期时钟 display fan 查看风扇状态 display power 查看电源信息 display cpu-usage 查看CPU利用率 display memory 查看…

深圳找做网站手机端网站界面如何做

一、题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输…

竞网网站建设vi设计主要做什么

js预解释(预编译):在Javascript真正被解析之前, js解析引擎会首先把整个文件进行预处理, 以消除一些歧义. 这个预处理的过程就被称为预解释 在浏览器环境中, js引擎会整合<script>标签中的内容, 产生window对象, 这个window对象就是全局对象在node环境中, 会产生global对…

快速网站仿制下载建设网站

腾讯云服务器标准型SA5实例是最新一代的标准型实例&#xff0c;CPU采用AMD EPYC™ Bergamo全新处理器&#xff0c;采用最新DDR5内存&#xff0c;默认网络优化&#xff0c;最高内网收发能力达4500万pps。腾讯云百科txybk.com分享腾讯云标准型SA5云服务器CPU、内存、网络、性能、…

回龙观网站建设河南科技园网站建设

使用Three.js创建旋转的立方体 在本篇技术博客中&#xff0c;我们将介绍如何使用Three.js创建一个简单的场景&#xff0c;其中包含一个旋转的立方体。我们将学习如何设置场景、摄像机、立方体和渲染器&#xff0c;以及如何使用OrbitControls和gsap库来实现立方体的旋转动画和交…

网站的控制面板苏州淘宝运营培训

1.简介 对象存储服务(Object Storage Service ,OSS) 是一种 海量、安全、低成本、高可靠的云存储服务&#xff0c;适合存放任意类型的文件。容量和处理能力弹性扩展&#xff0c;多种存储类型供选择&#xff0c;全面优化存储成本。 2.如何使用。参考文档 看文档&#xff0c;说的…

网站备案 域名证书建立网站和推广

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…

如何看网站的版本号上海知名进出口贸易公司

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 前些天在新疆哈密时&#xff0c;有天下午有点时间&#xff0c;看离住的宾馆不远就是哈密博物馆&#xff0c;便去逛了逛博物馆&#xff0c;由于接下来的一段时间没顾上记录&#xff0c;趁今天有些时间简单记录下那短暂的…

网站开发前端和后端怎么连接制作个网站需要多少钱

本文精心挑选了10道Python程序员面试题&#xff0c;覆盖了Python的多个核心领域&#xff0c;包括装饰器、lambda函数、列表推导式、生成器、全局解释器锁(GIL)、单例模式以及上下文管理器等。每道题都附有简洁的代码示例&#xff0c;帮助读者更好地理解和应用相关知识点无论是对…

江干区住房和城乡建设局网站中小学网站建设排行2017

时序预测 | Python实现ARIMA-LSTM自回归移动差分模型结合长短期记忆神经网络时间序列预测 目录 时序预测 | Python实现ARIMA-LSTM自回归移动差分模型结合长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | Python实现ARIMA-LSTM自…

电商网站运营建设的目标《企业宣传片制作》

大一开学到现在&#xff0c;我不禁思考一个问题&#xff1a;代码重要吗&#xff1f; 我的答案是&#xff0c;根本不重要&#xff0c;或者说&#xff0c;是次要的。我认为分析问题&#xff0c;和画图是写题的开始&#xff0c;方法的学习&#xff0c;和灵活运用是目的。代码从来…

润滑油 东莞网站建设河南省住房城乡和建设厅网站

本案例介绍了如何通过485modbus转profinet网关连接威纶通与三菱变频器进行modbus通讯。485modbus转profinet网关提供了可靠的连接方式&#xff0c;使用户能够轻松地将不同类型的设备连接到同一网络中。通过使用这种网关&#xff0c;用户可以有效地管理和监控设备&#xff0c;从…

网站新闻页设计wordpress v4

目录 一、前言 二、函数介绍 1.DayOfWeek 枚举定义 2.GetTimeUntilNextTarget 3.GetSpecificWeekdayTime 三、完整代码 四、总结 一、前言 当我们编写代码时&#xff0c;我们经常会遇到需要处理日期和时间的情况。为了更方便地处理这些需求&#xff0c;我们可以创建一个…

四川手机网站建设费用技能培训学校

ORM flask 通过Model操作数据库&#xff0c;不管你的数据库是MySQL还是Sqlite&#xff0c;flask自动帮你生成相应数据库类型的sql语句&#xff0c;所以不需要关注sql语句和类型&#xff0c;对数据的操作flask帮我们自动完成&#xff0c;只需要会写Model就可以了 flask使用对象关…

搜狗网站收录如何做logo标志

YOLOv8 是 YOLO (You Only Look Once) 系列目标检测算法的最新版本&#xff0c;以其高速度和高精度而著称。在电力行业中&#xff0c;绝缘子是电力传输线路上的重要组件之一&#xff0c;它们用于支撑导线并保持电气绝缘。由于长期暴露在户外环境中&#xff0c;绝缘子容易出现损…

网站开发技术方案编写vue适合什么样的网站开发

当问到多线程时候如何解决线程安全的问题时候&#xff0c;大部分人都知道加锁。提到锁最先接触到的就是Synchronized关键字。 当我们想要保证一个共享资源在同一时间只会被一个线程访问到时&#xff0c;我们可以在代码中使用synchronized关键字对类或者对象加锁 synchronized…

做电商网站前期做什么工作网站设计 手写

文章目录 技术交流群1、360 NLP 算法岗2、腾讯 NLP 算法岗3、百度 NLP 算法岗用通俗易懂方式讲解系列 节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂同学、参加社招和校招面试的同学&#xff0c;针对大模型技术趋势、大模型落地项…

大连公司注册网站淮南网站优化

目录 3 地面滤波及单木分割 3.1 地面滤波(Ground Filtering) 3.2 单木分割(Single-Tree Segmentation)

公司建设网站时的注意事项wordpress自定义用户字段

leetcode原题链接&#xff1a;跳跃游戏 II 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j &…

app网站建设宣传方案提高工作效率英语

您的 Android 设备密码有助于保护您的数据并防止您的个人信息被滥用。但是&#xff0c;如果您被锁定在Android设备之外怎么办&#xff1f;我们知道忘记您的 Android 手机密码是多么令人沮丧&#xff0c;因为它会导致您的设备和数据无法访问。在本技术指南中&#xff0c;我们将向…