[發明專利]一種基于nginx服務器生成會話ID的方法有效
| 申請號: | 201810570009.4 | 申請日: | 2018-06-05 |
| 公開(公告)號: | CN108833518B | 公開(公告)日: | 2019-04-09 |
| 發明(設計)人: | 李斌;楊冰;徐曉瑀;王國升;張琦玉;陳劍;羅義斌;孫力斌 | 申請(專利權)人: | 南京聯創互聯網技術有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L29/12 |
| 代理公司: | 南京眾聯專利代理有限公司 32206 | 代理人: | 葉涓涓 |
| 地址: | 210019 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 會話 服務器 集群 有效期 嵌入 系統吞吐量 后端應用 內部網絡 算法校驗 硬件消耗 非重復 客戶端 數據轉 校驗碼 校驗 偽造 | ||
1.一種基于nginx服務器生成會話ID的方法,其特征在于,包括如下步驟:
步驟一,集群內部生成非重復序列,序列包括:nginx實例ID、時間戳、計數器,nginx實例ID具有唯一性;
步驟二,對步驟一生成的序列使用CRC32算法進行運算,得到一個整數結果,該結果與Redis的節點個數做模運算,得到的結果作為Redis節點ID;
步驟三,將有效期寫入會話ID;
步驟四,拼接序列、Redis節點ID、有效期,并使用Base64算法進行運算即得到會話ID的數值部分;
步驟五,拼接會話ID的數值部分、客戶端的User-Agent、客戶端IP、服務器端密碼,然后按照字符升序排序,最后使用MD5算法進行運算,運算結果即為校驗碼;
步驟六,拼接步驟四生成的會話ID數值部分和步驟五生成的校驗碼,得到最終的會話ID。
2.根據權利要求1所述的基于nginx服務器生成會話ID的方法,其特征在于,還包括會話ID校驗方法,具體包括如下過程:
收到客戶端的請求時,截取會話ID末尾的128Bit校驗碼,則其余部分為會話ID的數值部分;對會話ID的數值部分使用Base64算法解碼,對解碼后的數據進行如下操作:
校驗會話ID是否過期:
取第1位至第40位,計算出生效時間;
取出第69位至76位,計算出有效期;
如果生效時間+有效期<當前時間,則會話過期;
校驗會話ID是否被偽造篡改:
將會話ID的數值部分跟客戶端IP、客戶端User-Agent、服務器端密碼拼接,然后按照字符升序排序,計算MD5碼,并將結果與會話ID中的校驗碼比對,判斷是否相同;如果相同,表示會話ID正確;如果不相同,則表示會話ID是偽造的,或被篡改,拋出錯誤;
校驗會話ID有效性:
截取第65至68位,獲得Redis節點ID,根據Redis節點ID,從對應的Redis存儲節點查詢該會話ID,如果查詢到數據,說明會話ID有效,否則說明該會話ID無效。
3.根據權利要求1所述的基于nginx服務器生成會話ID的方法,其特征在于:
計數器當前值保存在共享內存中,單臺Nginx服務器上所有Worker進程共享該計數器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京聯創互聯網技術有限公司,未經南京聯創互聯網技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810570009.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:數據處理系統、方法、電子設備及存儲介質
- 下一篇:一種存儲集群方法及系統





