远程连接mysql
远程连接虚拟机Mysql进入 /etc/mysql/mysql.conf.d 目录下
确认目录下哪个文件有写bind-address,我这里是mysql.cnf
将bind-address改为 0.0.0.0,允许任何地方流入
接下来重启mysql服务 sudo systemctl restart mysql
不出意外,远程连接已完成,验证方法:
多机搭建
多机搭建
网络结构
搭建一个多节点网络,网络中有两个组织org1、org2,每个组织各有一个节点,同时有一个orderer节点
名称
IP
host
组织
Orderer
192.168.31.236
orderer.example.com
orderer
Org1peer0
192.168.31.236
peer0.org1.example.com
org1
Org2peer0
192.168.31.130
peer0.org2.example.com
org2
设置网络host
打开终端后,输入ifconfig,查看当前ip,然后输入vi /etc/hosts,插入以下数据
123192.168.31.236 orderer.example.com192.168.31.236 peer0.org1.example.com192.168.31.130 peer0.org2.example.com
生成Fabric证书
创建项目目录并进入
在两台虚拟机相同的项目目录下
1cd /home/user && mkdir more & ...
网络安全基础
网络安全基础参考:
[信息来源]: https://c4pr1c3.github.io/cuc-ns “网络安全教学”
专业术语定义
信息安全三要素(前三点)
资产(Assert):任何有价值的信息资产
网络安全(Cyber Security):网络系统中的软件、硬件、数据不会遭到恶意破坏,系统可以正常运行
安全属性:机密性(Confidentiality 信息不泄露非授权人员)、完整性(Integrity 未经授权信息不可更改)、可用性(Availability 信息可被授权人员按需使用)
漏洞(Vulnerability):信息资产及其安全措施在安全方面的不足和弱点
影响(impact):漏洞被利用就会造成影响
风险(Risk):威胁事件发生的可能性
风险管理(Risk Management):采取各种措施消灭或减少可能发生的风险事件
残余风险(Residual Risk):安全机制实施过后仍然存在的风险
事件(Event):实际产生的危害
安全需求(Security Requirement):信息安全建设需求
攻击(Attack):利用漏洞实现威胁的过程
安全策略(Securi ...
系统安全、风险评估理论与应用
系统安全、风险评估理论与应用参考:
[信息来源]: https://c4pr1c3.github.io/cuc-ns/ “网络安全教学”
数字标识理论
定义:
实体(Entity):业务操作的发起者
标识(Identity):实体的数字化指代
访问控制理论
概念:保障授权用户可以获取所需资源的同时拒绝非授权用户的安全机制
访问控制三要素:主体(访问的发起者)、客体(接受信息的被动实体)、安全访问策略(一套规则)
目的:认证、访问授权、安全审计(记录访问历史)
上传下载图片2.0
文件上传下载2.0仔细看看咯,跟之前那个版本有所不同,大家可以看看以前的,下面这个是更加方便的版本,可获取当前目录路径进行存储图片
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374package com.chenyi.item.controller;import cn.hutool.core.io.FileUtil;import cn.hutool.core.util.IdUtil;import cn.hutool.core.util.StrUtil;import com.chenyi.item.common.Result;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.*;import org.sp ...
部署区块链浏览器
部署区块链浏览器前提条件,区块链网络部署并成功启动完毕,可输入 docker ps -a 进行检查
检查完毕确认全部启动后,开始部署超级账本浏览器
1、官方链接首先来到官方提供的Github链接 https://github.com/hyperledger-labs/blockchain-explorer?tab=readme-ov-file,根据提示,获取我们所需要的配置文件
2、查看所下载的文件注:我这里是根据需求修改过的
3、文件解读在connection-profile文件夹下的json文件,存放在组织与节点信息,和私钥文件路径等
在config.json文件中,存放的是刚才json文件的路径
在docker-compose.yaml文件中,存放的是超级账本浏览器的镜像配置以及挂载路径等
4、复制组织文件将区块链网络中的组织节点信息复制到超级账本浏览器的目录下
5、运行在超级账本浏览器的目录下运行命令 docker-compose up -d,就可以成功启动,访问端口8080即可
可能遇到的问题若遇到bug,打开日志查看报错情况 docker logs -f ...
实现局域网访问本机虚拟机
实现局域网访问本机虚拟机首先保证你的电脑上面已经安装了虚拟机,并且搭建了web项目,并在本机上成功通过虚拟机ip地址访问项目。
1、打开终端,输入 ifconfig 查看虚拟机ip地址
2、打开 编辑—虚拟网络编辑器—选择NAT模式—点击更改设置—选择NAT设置
3、点击添加—输入对应的主机转发端口(空闲端口)—虚拟机ip—虚拟机端口(部署的web端口)
4、完成以上操作后,来到本机,打开控制面板,进入window防火墙,选择高级设置,编辑入站规则
5、选择端口—输入对应端口—点击下一步
6、到这就完成了局域网访问本机虚拟机web的操作,只需要本机IP+转发端口号即可
关键字查询
实现关键字查询
实际业务中,我们经常会用到关键字查询,以下是使用智能合约+for循环遍历实现的一个关键字查询业务
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647// 主要方法public static List<Map<String, Object>> filterByKeyword(List<Map<String, Object>> dataList, String keyword) { List<Map<String, Object>> filteredList = new ArrayList<>(); for (Map<String, Object> dataItem : dataList) { // 遍历Map中的所有值,检查是否包含关键词 for (Object value : dataI ...
导出mysql聊天记录
实现了导出mysql中存储的聊天记录,根据群聊id进行存储
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889// 所需要的依赖import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import j ...
实现丝滑小滚轮
实现了丝滑滚轮vue
12345678910111213141516171819202122232425262728293031323334<template><div class="scrollable-container"></div></template><style>.scrollable-container { max-height: 400px; /* 设置最大高度 */ overflow-y: auto; /* 当内容溢出时显示滚动条 */ /* 隐藏滚动条 */ scrollbar-width: thin; /* Firefox支持 */ scrollbar-color: transparent transparent; /* Firefox支持 */ } /* Webkit浏览器(如Chrome、Safari)滚动条样式 */ .scrollable-container::-webkit-scrollbar { width: 6px; /* 设置滚动条宽度 */ } .scrollabl ...