avatar
文章
876
标签
85
分类
13
首页
归档
标签
友链
代表作品
量化套利
关于
TagoTago开发手记
搜索
首页
归档
标签
友链
代表作品
量化套利
关于

Tago · 开发手记

Hash HMAC 签名在 PHP、Python、Node.js 和 Java 中的使用
发表于2022-10-05|编程语言
Hash HMAC 签名在 PHP、Python、Node.js 和 Java 中的使用简介Hash HMAC(Hash-based Message Authentication Code)是一种基于哈希函数和密钥的消息认证码算法,用于验证消息的完整性和真实性。在本篇博客中,我们将介绍如何在 PHP、Python、Node.js 和 Java 中生成和验证 Hash HMAC 签名。 什么是 Hash HMAC 签名?HMAC 是一种基于哈希函数和密钥的消息认证码算法。它通过将消息与密钥进行哈希运算来生成一个固定长度的哈希值,用于验证消息的完整性和真实性。HMAC 使用一个密钥来对消息进行加密,并将加密后的结果与消息一起进行哈希运算。 在 PHP 中生成和验证 HMAC 签名在 PHP 中,可以使用 hash_hmac 函数生成和验证 HMAC 签名。下面是一个生成和验证 HMAC 签名的 PHP 示例代码: <?php$data = 'Hello, World!';$key = 'YourSecretKey';// 生成 HMA...
PHP rawurlencode 与 urlencode 的差异
发表于2022-09-06|编程语言
PHP url Encode  PHP中对于URL进行编码,可以使用 urlencode() 或者 rawurlencode(),二者的区别是前者把空格编码为 '+',而后者把空格编码为 '%20',不过应该注意的是,在编码时应该只对部分URL编码,否则URL中的冒号和反斜杠也会被转义。 1. PHP 的 urlencode() 官方說明返回字元串,此字元串中除了 -_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進制數,空格則編碼為加號(+)。此編碼與 WWW 表單 POST 數據的編碼方式是一樣的,同時與 application/x-www-form-urlencoded 的媒體類型編碼方式一樣。由於歷史原因,此編碼在將空格編碼為加號(+)方面與 » RFC3986 編碼(參見 rawurlencode())不同。 2. PHP 的 rawurlencode() 官方說明返回字元串,此字元串中除了 -_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進制數。這是在 » RFC 3986 中描述的編...
Mysql Lock wait timeout 锁等待坑
发表于2022-09-02|数据库
问题复盘 : 客户端服务A -> 中转服务B -> 终端服务C. 服务A 请求 服务B (超时 6秒) 没有拿到回包数据 , 连续请求8次 耗时48秒 服务B 请求 服务C (无超时) nginx 日志查出 有8条请求超时 分别为 50秒 43秒 37秒 … 服务C 存在Mysql 锁等待, 原因在于 http服务 和 cli脚本服务 同时操作同一条数据 锁等待默认50秒超时. 一. 发生问题 锁等待时间太久 导致重复请求解 : 锁等待问题 缩短调整锁等待超时时间30秒, 调大超时请求时间至15秒 二. 锁等待超时后 拿数据方法返回null 导致脏读问题解 : 判断返回值null 抛出异常防止脏读问题
PHP 中使用 hash_hmac 加密
发表于2022-08-31|编程语言
PHP 中使用 hash_hmac 加密在PHP开发中,数据的安全性和加密是非常重要的方面。hash_hmac函数是PHP提供的一种用于生成HMAC(Hash-based Message Authentication Code)的加密算法。本文将介绍如何在PHP中使用hash_hmac函数进行加密操作。 hash_hmac 函数hash_hmac函数是PHP中用于生成HMAC的函数,其基本语法如下: hash_hmac(string $algorithm, string $data, string $key, bool $raw_output = false): string|false 该函数接受四个参数: $algorithm:指定要使用的哈希算法,如MD5、SHA-256等。 $data:要进行加密的数据。 $key:加密使用的密钥。 $raw_output(可选):指定输出是否为原始二进制数据,默认为false,表示输出为小写十六进制字符串。 函数返回一个加密后的字符串,或者在出错时返回false。 加密示例下面是一个使用hash_hmac函数进行加密的示例: ...
Mysql 字段权限 禁止修改数据表的某一字段
发表于2022-07-19|数据库
通过mysql 管理账号 设置表单个字段权限, 限制表记录被修改的问题. 针对test账号 db1库下面的t1表的 id,name, age 字段授予select, insert权限; 授权格式 select(要授权的字段,要授权的字段) 用户括号 括起来、insert() mysql> grant select(id,name,age),insert(id,name,age) on db1.t1 to 'test'@'localhost';Query OK, 0 rows affected (0.11 sec) 授权记录查询 select * from mysql.columns_priv; 该表也是不要拥有delete 权限 , 小心被绕开. 对比上篇文章 Mysql 触发器 禁止修改数据表的某一字段 的方案要简单一些. 诶没有DBA 啥都要自己想
Mysql 触发器 禁止修改数据表的某一字段
发表于2022-07-18|数据库
MySQL 触发器:禁止修改数据表的某一字段MySQL 触发器是一种在数据库中定义的特殊存储过程,它可以在指定的事件(如插入、更新或删除数据)发生时自动执行。在本篇博客中,我们将介绍如何使用 MySQL 触发器来禁止修改数据表的某一字段。 1. 创建触发器首先,我们需要创建一个触发器,以便在更新操作发生时执行相应的逻辑。以下是创建触发器的语法: DELIMITER $$CREATE TRIGGER trigger_nameBEFORE UPDATE ON table_nameFOR EACH ROWBEGIN -- 触发器逻辑 IF NEW.field_name <> OLD.field_name THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '禁止修改字段 field_name!'; END IF;END$$DELIMITER ; 在上述语法中: trigger_name 是触发器的名称,可以根据需要自行命名。 table_...
在MySQL中阻止UPDATE, DELETE 语句的执行,在没有添加WHERE条件
发表于2022-07-17|数据库
如果在生产环境中使用UPDATE,DELETE语句操作数据,此时如果忘记携带本应该添加的WHERE条件,后果可能不堪设想。在正常的业务情况,也不会更新或者删除所有的记录 1. 阻止update设置(sql_safe_updates)sql_safe_updates这个MySQL自带的参数就可以完美的解决我们的问题,并且该参数是可以在线变更的哦~当该参数开启的情况下,你必须要在UPDATE语句后携带WHERE条件,否则就会报出ERROR。。 sql_safe_updates=0,即未开启 $ set sql_safe_updates=0;Query OK, 0 rows affected (0.00 sec) $ show variables like 'sql_safe_updates'Variable_name Valuesql_safe_updates OFF 如上属的例子所示,当参数sql_safe_updates开启的时候,UPDATE语句不携带WHERE条件将会爆出一个错误。 2. 阻止delete设置直接限制m...
[收藏] 别人公司DB 的 MYSQL数据库开发规范文档
发表于2022-07-16|数据库
规范 - mysql开发规范MySQL安全账号分类 管理员帐户(DBA专用) 运维类帐户(复制,监控,备份等) 程序用账户(根据业务命名,权限最小化原则.命名规则: 业务_rw, 业务_r) 只读用账户(根据内外网决定是否启用SSL) 开发权限程序帐户权限:​ *_rw账号权限: SELECT,INSERT,UPDATE,DELETE,SHOW VIEW*_r账号权限: SELECT,SHOW VIEW,EXECUTE(不改写数据) 其它安全规范 禁止使用程序帐号通过客户端访问数据库,使用OPS系统 连接串中密码必须加密 生产环境限定帐户的Host为内网段IP。例: au_business_r@’10.10.7.%’ 权限默认给5+2(可选)种: insert,delete,update,select,show view; execute,mysql.proc select权限 DB服务器禁用外网IP。如果需要外网访问使用ip+port转发方式并使用SSL加密数据 禁用链接服务器(FEDERATED引擎) 禁止drop表,可以rename table到backupdb数据库...
[踩坑] Nginx 配置 WebScoket 未配置 proxy_http_version 导致长连接变短连接
发表于2022-07-14|踩坑教训Nginx
今天 搭建 Webscoket 服务, 测试 内网IP + 端口, 客户端连接没有任何问题. 运维同学配置了公网域名后, 测试 客户端连接 公网域名 你 4:27:10等待服务器Websocket握手包...你 4:27:12收到服务器Websocket握手包.服务器 4:27:12Websocket连接已建立,正在等待数据...服务器 4:27:12和服务器断开连接!就像上面一样 一直 握手 -> 连接建立 -> 断开. 问题是 我服务端 进到 onOpen 事件 想要主动回包给 客户端都做不到.$server->exist($fd) 返回的是false, 发现客户端行为不是长连接, 比较像短连接请求,更过分的是断连不挥手. 排除了一些可能后想到 是不是 运维的 Nginx 配置出错了. server { listen 80; server_name xxxx.xxx.com; ...
为SecureCRT工具设置代理连接SSH
发表于2022-07-03|其他
SecureCRT工具设置代理连接SSH在使用SecureCRT工具进行SSH连接时,有时我们需要通过代理服务器进行连接。本文将介绍如何在SecureCRT工具中设置代理,以便顺利进行SSH连接。 步骤按照以下步骤设置SecureCRT工具的代理连接: 打开SecureCRT工具,并打开“选项”对话框。 在对话框左侧的选项列表中,选择“会话”。 在右侧的“默认设置”下,选择要配置代理的会话。 在会话选项卡中,选择“连接”。 在“代理”部分,勾选“使用代理”选项。 输入代理服务器的地址和端口号。 (可选)如果代理服务器需要身份验证,勾选“代理需要身份验证”选项,并提供相应的用户名和密码。 单击“确定”保存设置。 完成以上步骤后,SecureCRT工具将使用指定的代理服务器进行SSH连接。 注意事项在设置SecureCRT工具代理连接时,需要注意以下几点: 代理类型:SecureCRT支持多种代理类型,包括HTTP代理、SOCKS代理和Telnet代理。根据实际情况选择合适的代理类型。 代理地址和端口号:填写正确的代理服务器地址和端口号。可以咨询网络管理员或查看代理服务器的...
1…333435…88
avatar
Leon
技术、实践与记录
文章
876
标签
85
分类
13
公告
记录技术实践,分享学习与思考。
最新文章
Okx合约量化套利开发心得
Okx合约量化套利开发心得2026-10-08
币安衍生品与 TradFi 业务全景
币安衍生品与 TradFi 业务全景2026-10-04
币安指数玩法拆解
币安指数玩法拆解2026-10-03
币安外汇玩法拆解
币安外汇玩法拆解2026-10-03
币安大宗商品玩法拆解
币安大宗商品玩法拆解2026-10-03
最新评论
加载中...
分类
  • Ai9
  • Nginx44
  • 产品16
  • 其他54
  • 协议69
  • 容器13
  • 技术1
  • 操作系统112
标签
kali VM NVDA websocket 做市 Tcp ClickHouse jwt 需求优先级 ssl 币安 swoole 代理 golang 网络安全 跨域 埋点 交互设计 AES Docker 量化理财 产品基础 php 用户体验 protobuf linux 代币化股票 股票代币化 yum 金融交易 WebAuthn TradFi 导航设计 shell centos oa 正则 vim 指数 curl
归档
  • 十月 2026 5
  • 九月 2026 5
  • 八月 2026 13
  • 七月 2026 7
  • 六月 2026 4
  • 五月 2026 5
  • 四月 2026 10
  • 三月 2026 6
网站信息
文章数目 :
876
运行时间 :
最后更新时间 :
© 2015 - 2026 By Leon框架 Hexo 8.1.2|主题 Butterfly 5.7.0
Tago · 开发手记
搜索
数据加载中