瀚高数据库安全版安装license

瀚高数据库安全版 V4.5.8 以及后续版本,license 文件可分别管控瀚高安全版数据库、
瀚高高可用集群(db_ha),瀚高读写分离集群(hg_proxy)。

上传 license
将 license文件上传到服务器任意目录下

检查 license
使用 hg_lic -c -F $filepath 来对指定 $filepath license 文件进行检查操作,该操作将会输出对 license 文件的检查结果,如果检查出现问题,将会提示 license 文件异常。如果一切正常将会输出 license 信息,包括 license 编号、license 状态、用户信息、授权方式、授权用途、申请日期、产品名称、产品版本、产品有效期。

chmod 0600 /opt/highgo/hgdb-see-4.5.8/etc/lic/hgdb.lic
hg_lic -c -F /opt/highgo/hgdb-see-4.5.8/etc/lic/hgdb.lic

加载license
使用 hg_lic -l -P $HGDB_HOME -F $filepath 来对指定文件 $filepath 进行加载操作,若配置了 $HGDB_HOME 环境变量,-P 参数可以省略。该操作会对许可证文件进行检查,如果许可证文件异常,将会提示。如果许可证一切正常,该操作会将许可证文件加载到数据库中。

PostgreSQL中的archive_command详解

什么是归档(Archiving)?

归档是指将过时或不再频繁使用的数据迁移到存储介质的过程。 PostgreSQL支持通过归档机制保存事务日志(WAL),以便在需要时进行数据库的恢复。这是确保数据安全和完整性的重要措施。

使用PostgreSQL的archive_command功能,你能够增强数据安全性,确保在发生故障时能够快速恢复。

- 阅读剩余部分 -

多因素认证(MFA)动态令牌PHP实现

两步验证(Two-Factor Authentication,2FA)是一种增加账户安全性的方式,它要求用户提供两种不同类型的身份验证凭据才能访问服务或数据。这种核心思想建立在“知道”和“拥有”两种安全因素上:一种是用户知道的信息(如密码或PIN码),另一种是用户拥有的物理设备(如手机或安全令牌)。这样,即使攻击者窃取了用户的密码,没有物理设备也无法完成认证过程。

多因素认证(MFA)的实现主要包含以下几个核心环节和技术要点,其流程设计兼顾安全性与用户体验:

一、核心实现流程

MFA 实现需平衡安全性与易用性,生物识别虽便捷但需考虑隐私合规(如 GDPR 生物数据特殊保护)。

密钥初始化与绑定‌

  • 用户启用 MFA 时,系统生成唯一密钥(如 Base32 编码字符串),并通过加密 QR 码展示给用户扫描绑定认证器(如 Google Authenticator、Authy)。
  • 密钥安全存储于服务器端,并与用户账号关联。

- 阅读剩余部分 -

js变量间赋值,修改变量值后原变量随之改变问题

vue项目的开发过程中,需要多次用到一份基础数据,为减少代码量,提高一下复用效果,便用变量A来定义,在项目中需要用到时就用变量A进行赋值。在项目中调用时,新定义一个变量B,再将变量A赋值给变量B,即B=A;
期望的效果是,赋值之后,A和B是两份数据,对变量B进行操作时不影响变量A。

B=A的方式只是将B指向A的存储地址,实际上只有同一份数据,因此无论修改A还是B都是会互相影响的。

解决方法:
B = JSON.parse(JSON.stringify(A))

OA系统信创迁移流程

需要对3000余套律所OA系统进行迁移,按天逐步迁移。基本流程如下:

1.申请瀚高测试license兼容适配
2.适配前对现有系统进行升级,提高后期迁移效率
3.编写相关脚本

- 阅读剩余部分 -

使用sshpass实现ssh、scp等免密登录

ssh 登陆不能在命令行中指定密码,sshpass 的出现则解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

安装:yum install -y sshpass

sshpass [-f|-d|-p|-e] [-hV] command parameters

-f filename   Take password to use from file
-d number     Use number as file descriptor for getting password
-p password   Provide password as argument (security unwise)
-e            Password is passed as env-var "SSHPASS"
With no parameters - password will be taken from stdin
-P prompt     Which string should sshpass search for to detect a password prompt
-v            Be verbose about what you're doing
-h            Show help (this screen)
-V            Print version information

如:sshpass -p 'root' scp /opt/file.txt root@192.168.126.135:/home

PostgreSQL常用操作

  • 创建数据库:CREATE DATABASE db_name template tpl_name;
  • 删除数据库:drop database xxx;
  • 创建用户:CREATE USER xxx WITH PASSWORD 'admin';
  • 删除用户:drop user username;
  • 授权:GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

- 阅读剩余部分 -