- 博客(54)
- 问答 (5)
- 收藏
- 关注
原创 Nuclei关于php168 V6.02 的POC
这个漏洞是在 /memberpost.php 中存在一个代码执行漏洞。如上图所示,当你的php168网站存在这个问题的时候,就会被检测到了。2.执行下面代码,get方式就可以了。1. 先注册一个用户。利用Nuclei 进行检测这个漏洞。
2023-02-26 10:54:40
492
原创 window 连接到 centos Samba 文件共享
centos Samba 文件共享创建,window 连接到 centos Samba 文件共享
2022-05-03 12:39:10
394
原创 SpringBoot 进行全局异常捕获的时候,无法正常捕获自定义的异常
全局异常捕获的处理:01 对系统异常的捕获,防止异常的情况暴露给外部接口02 对自定义异常的捕获,统一对外接口的返回格式Controller 层进行正常业务的开发调用了Service层的业务, 其中 login接口包含了一个异常的抛出Service 层业务处理在Service中抛出了一个自定义的异常处理,按照预期的情况,这个异常应该被 第一张图的异常处理进行捕获和输出,但是程序跑起来后,并没有按照预期的流程运行,而是完全没有经过第一张图的全局异常处理问题...
2021-11-03 15:01:11
4001
1
原创 安装Tomcat报错,提示java没有安装环境变量
解决方式: 在环境变量中新增一个 JAVA_HOME的环境变量,变量值 = 你安装的jdk 的路径如下图所示
2021-05-08 10:16:14
451
原创 git 常用命令
1.本地代码仓库的操作:git status 查看代码状态 git log 查看代码仓库提交的记录 git reset --hard HEAD 清除本地代码的所有修改2.远程仓库的数据操作:git clone http://198.156.23.22/dd/dd.git 从远程仓库下载代码 git init 初始化本地代码仓库版本3. 忽略某些文件的修改并提交到代码仓库1. 添加 .gitignore 文件,该文件内写明需要屏蔽的文件或者文件内容...
2021-01-06 16:51:09
131
原创 本地部署git环境以及配置webhook,实现本地更新代码 云服务器上自动同步代码
1.部署环境配置 宝塔 + 云服务器 + gitlab + webhook 其中 gitlab 和 webhook 使用宝塔进行一键安装2. 主要说明使用webhook遇到的问题以及怎么进行调试执行脚本的代码如下,1.当第一次使用以下脚本无法创建代码仓库的时候,可以使用 宝塔自带的控制塔先设置git的一些参数如下,进行git clone http://192.168.0.0/ll/book.git 等操作先保证可以正常使用git功能...
2021-01-05 22:41:02
828
原创 TP框架下,利用模板引擎控制 某些便签不显示或者操作其属性
TP框架下(PHP + ThinkPHP),利用模板引擎控制 某些便签不显示或者操作其属性如下代码所示:在HTML的标签中增加函数{if $vo.status == 1}checked{/if} 当模板引擎传过来的$vo变量值为 == 1 的时候为这个标签增加一个checkd的属性,否则不添加这个属性采用同样的方式,当变量值为NULL 的时候,设置style="display: none;使其不进行显示<td data-id="{$vo.id}"><input type...
2020-12-23 16:46:03
224
原创 centos 挂载window下的共享文件夹
1.确保centos能够ping通window主机的IP地址2. window设置文件夹网络共享3. centos挂载共享文件夹mount -t cifs //192.168.2.9/www /home/admin/www -o username=server,password=123,vers=2.0或者mount -t cifs //192.168.2.9/www /home/admin/www -o username=server,password=123,vers=3.
2020-12-04 23:38:31
222
原创 交换机与集线器(HUB)抓包上的区别
当你想要知道一台网络设备,例如网络摄像机(IPC)往外发送了什么数据,你可以怎么抓包呢,考虑一些网段等因素,可以直接使用集线器(HUB)进行抓包。HUB抓包方式一般通过下图的连接方式就可以在PC机上利用wireshark等抓包工具,抓取网络上发送给设备的数据包和设备发送到网络上的数据包。HUB抓包原理集线器工作在物理层,属于1层设备,每发送一个数据,所有的端口均可以收到,采用了广播的方式上图中网络发送给1口的数据会广播到每一个接口,因此发送给3口的数据可以在2口获取...
2020-10-03 14:57:31
3892
原创 P2P 打洞介绍
1. 什么是P2P 正常情况下的数据交互:Client_1想要发送数据给 Client_2,需要经历下图所示的步骤: 不同客户端进行数据交互的时候,数据都需要通过服务器进行转发。因为所有数据都通过服务器进行转发,当有大量客户端进行连接的时候,服务器接收发送的数据量很大,会导致数据交互延时,所以Client_1 与 Client_2 进行大量数据交互的时候,速度会受到Server性能的限制。 当Client_1 与 Client_2 能够直接进行数据交互,而不通过服务器进行数据转发的话...
2020-06-14 23:12:48
537
原创 在Linux下基于TCP网络通信的多人在线聊天室
一、使用原理:TCP网络传输;多线程事件处理;二、功能简介:(服务端)1、打开服务端,服务端进行初始化,并等待客户端的连接;2、打开客户端,输入服务端的IP地址与端口号;服务端会产生一个线程与新增的客户端进行通信,并分配客户端的名称,每连接一个客户端,服务端会产生一个线程与客户端进行通信;3、每新建一个客户端服务端会为客户端分配一个名字,依次为: ‘a’,'b','c',...
2019-03-21 16:03:16
3046
原创 随手记(一)
1、C/C++ 中 ,printf()函数计算参数时是从右到左进行压栈的,由于可变参数长度,所以右边的参数相对于左边是必须已知的;2、(1)cout<<(int &)a<< endl; //将a地址里面4个字节的存储内容以int 型的数据格式打印出来(2)cout<<(int)a <<endl; //强制类型转化(...
2019-03-18 20:30:12
238
1
原创 C++复习概括
1、内联函数 inline()2、Constexpr()函数3、递归函数4、函数的重载5、构造函数、析构函数、复制构造函数、浅复制&深复制、new &deleye[]6、函数功能声明 func::func() int func::name();7、静态数据成员、静态成员函数 静态数据成员的特性及其声明静态成员:为同一个类不同对象数据成员提供一...
2019-03-14 22:12:22
188
原创 逐个翻转每个字符串中的单词,如将I Am a Programmer ---》I mA a remmargorP
给定一个字符串,将字符串中的每个单词逐个翻转。举例如下:输入:“I Am a Programmer ”结果:"I mA a remmargorP "函数形式如下:char *ReversString(char *Source)#include<stdio.h>#include<stdlib.h>#include<string.h>...
2019-03-11 22:15:07
676
转载 死锁,死锁的四个必要条件以及处理策略(详解)
转载来自:https://blog.youkuaiyun.com/wljliujuan/article/details/79614019#commentBox一、什么是死锁二、死锁与饥饿三、资源的类型 3.1 可重用资源和消耗性资源 3.1.1 可重用资源(永久性资源) 3.1.2 消耗性资源(临时性资源) 3.2 可抢占资源...
2019-03-07 11:17:22
841
原创 strcat()字符串的连接自实现
在实现strcat()函数的功能的时候需要考虑到一下几点:strcat(ret,ptr) ===>"ret ptr"1、ptr字符串是否为空2、ret字符串是否要去除结尾的 '\0'3、连接的时候是否会溢出4、是否要在连接完成后的结尾加上 '\0'以下是实现函数功能的代码,注意char *ch = "hello" 这种声明的变量是常量,不能对其改变#...
2019-03-05 18:37:43
487
原创 atoi()字符转整数的自实现
在C语言中可以通过atoi()函数实现将char 数字 转化为 int 类型例如: char ch[] = "123456"; ---->int i = 123456 char *ch1 = "-5678"; ---->int i = -5678 char ch2[] = " -3456"; ----&g...
2019-03-05 16:03:34
188
转载 二叉树的应用(一)二叉树的基本原理
作者:Java3y原文:https://blog.youkuaiyun.com/java_3y/article/details/79674656一、二叉树就是这么简单本文撇开一些非常苦涩、难以理解的概念来讲讲二叉树,仅入门观看(或复习)…首先,我们来讲讲什么是树:树是一种非线性的数据结构,相对于线性的数据结构(链表、数组)而言,树的平均运行时间更短(往往与树相关的排序时间复杂度都不会...
2019-03-03 17:12:36
2748
转载 单链表的操作(三)链表的遍历、逆序、是否有环
链表和数组作为算法中的两个基本数据结构,在程序设计过程中经常用到。尽管两种结构都可以用来存储一系列的数据,但又各有各的特点。数组的优势,在于可以方便的遍历查找需要的数据。在查询数组指定位置(如查询数组中的第4个数据)的操作中,只需要进行1次操作即可,时间复杂度为O(1)。但是,这种时间上的便利性,是因为数组在内存中占用了连续的空间,在进行类似的查找或者遍历时,本质是指针在内存中的定向偏移。然而...
2019-03-03 15:45:44
1053
原创 单链表的操作(二)链表的插入与删除
一、单链表的结点插入(1)插入的结点位于空链表(2)插入的结点位于非空链表 插入的链表位于非空链表的头部 插入的链表为与非空链表的尾部 插入的链表位于非空链表的中间部分创建一个单链表结点的插入函数,将输入的学生的序号作为排序,按照从小到大的学号顺序插入学生信息struct student *insert(struct student *head...
2019-03-03 10:29:44
1308
2
转载 管道、消息队列和共享内存三者的特点与区别
管道和消息队列的区别管道(PIPE) 管道通信方式的中间介质是文件,通常称这种文件为管道文件。两个进程利用管道文件进行通信时,一个进程为写进程,另一个进程为读进程。写进程通过写端(发送端)往管道文件中写入信息;读进程通过读端(接收端)从管道文件中读取信息。两个进程协调不断地进行写、读,便会构成双方通过管道传递信息的流水线。管道分为匿名管道和命名管道。(1)匿名管道:管...
2019-02-26 19:48:53
1917
转载 fflush(stdin)与fflush(stdout)
1.fflush(stdin):作用:清理标准输入流,把多余的未被保存的数据丢掉。。如:int main(){ int num; char str[10]; cin>>num; cout<<num<<endl; cin>>str; co...
2019-02-25 18:39:50
239
原创 TCP实现多用户聊天、通讯
创建服务端功能:1、实现10个用户的同时聊天,并且每两个用户之间都能聊天相互发送信息,并且具有群发消息的功能;2、话语过滤功能:例如过滤信息中的fuck;3、..............(另行添加)实现:1、在正常的TCP服务器的代码上进行改进,增加线程,以便实现多个用户的在线聊天;2、函数模块:一个struct 用于收集中转用户的信息:套接字的文件描述符cfd ...
2019-02-25 09:42:11
1439
原创 多路温度采集控制系统(一)菜单的创建及配置文件
实现效果:主要的文件:1、config.h && config.c 配置文件 2、 sys_ipc.h && sys_ipc.c 菜单文件 3、Makefile执行 trace@trace-virtual-machine: make 即可形成...
2019-02-24 10:22:33
823
2
转载 嵌入式软件工程师面试题及答案
题目一上个星期,去深圳一家搞ARM开发的公司面试,HR叫我做了一份卷子,里面都是C编程,心中暗喜,因为这些题基本上都在程序员面试宝典里见过。后来回到学校,在网上搜索,原来这些题都是嵌入式工程师的经典面试题目,很多网站上都可以找得到。现把他贴出来,附上网上的答案,跟大家分享,因为这些题实在太经典了。预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以...
2019-02-22 15:43:24
71815
3
原创 linux网络通讯3次握手和4次挥手
3次握手1、大多数情况下,客户端往服务端发送一个数据包,标志位为SYN(表示建立连接),包号为1000(自己定),数据包的大小为0;<mss 1460>表示数据大小的上限是1460字节;2、服务端在收到客户端的数据包之后,表示收到数据包,发送ACK 1001回写给客户端,ACK是标志位,1001 =1000+1 表示收到客户端发送的1000包号 + 一位标志位SYN,总...
2019-02-20 15:38:10
240
原创 linux网络编程之server端和client端的通信实例
server端程序进行测试时:运行server程序新开一个终端,输入命令: nc 127.0.0.1 9527 //端口号为9527在命令行中输入 abc 即可回传得到大写的ABC/*server.c */#include<stdio.h>#include<stdlib.h>#include<sys/types.h>...
2019-02-19 17:35:14
1971
原创 linux网络编程原理
视频来源:http://v.qq.com/detail/s/sdp001yg24cqadd.html1、OSI七层模型 & TCP/IP 四层模型 分层模型结构: OSI七层模型:物、数、网、传、会、表、应 TCP/IP 4层模型:网、网、传、应 以太网帧协议 ...
2019-02-18 22:34:46
985
1
原创 单链表的操作(一)链表的原理与程序
单链表的结构组成链表是一系列有结构体类型结点组成,每个结点都是由结构体数据成员和地址成员两部分构成。 数据成员部分称为数据域,用于存放结点数据;地址成员部分作为指针域,用于存放指向下一个结构体类型结点的地址指针 访问链表结构各结点的数据,需要从链表的head头指针开始查找。后续结点的地址,可由当前结点的地址域给出。程序运行是,无论访问链表中的哪一个结点,都要从链表头开始,顺序向后...
2019-02-18 15:02:22
1888
原创 linux多线程编程实例
对象 操作 Linux Pthread API Windows SDK 库对应 API 线程 创建 pthread_create CreateThread 退出 pthread_exit ThreadExit 等待 pthread_join WaitForSingleObject 互斥锁 创建 pt...
2019-02-17 19:13:51
410
原创 linux线程的使用与实例
由于 pthread 头文件不是系统默认的库 所以在编译时要加上 -lpthread GCC编译器这样编译:gcc pthread.c -lpthread -o pthread这样不会产生错误:对‘pthread_create’未定义的引用 ptherad_create():创建线程 函数声明 int pthread_...
2019-02-17 12:52:41
1057
转载 深入理解进程和线程
关于进程和线程,大家总是说的一句话是“进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元”。这句话理论上没问题,我们来看看什么是所谓的“资源”呢。什么是计算机资源经典的冯诺依曼结构把计算机系统抽象成 CPU + 存储器 + IO,那么计算机资源无非就两种:1. 计算资源2. 存储资源CPU是计算单元,单纯从CPU的角度来说它是一个黑盒,它只对输入的...
2019-02-16 21:29:18
269
原创 linux共享内存
共享内存的创建与读取、打印#include<stdio.h>#include<string.h>#include<fcntl.h>#include<stdlib.h>#include<sys/ipc.h>#include<sys/shm.h>struct sys_data{ float ...
2019-02-16 20:54:44
119
原创 linux消息队列
使用 ipcs -q 查看消息队列的消息接收情况 队列消息读取端/*MessageRead.c */#include<stdlib.h>#include<stdio.h>#include<sys/types.h>#include<sys/ipc.h>#include<sys/msg.h>#...
2019-02-16 19:45:18
175
原创 linux共享内存的创建与通讯实例
创建共享内存,往共享内存里写入数据#include<stdio.h>#include<string.h>#include<fcntl.h>#include<stdlib.h>#include<sys/ipc.h>#include<sys/shm.h>struct sys_data{ f...
2019-02-16 19:20:15
1542
原创 linux中信号的程序实例
#include<signal.h>#include<stdio.h>#include<stdlib.h>void func(int sig){ printf("the function of ctrl+c is instead\n");}int main(){ signal(SIGINT,func)...
2019-02-16 19:08:19
359
原创 命名管道(有名管道)的使用-例程序
命名管道的读取端 Fifo_read.c#include<sys/types.h>#include<sys/stat.h>#include<errno.h>#include<fcntl.h>#include<stdio.h>#include<string.h>#include<stdlib.h&
2019-02-16 18:52:04
1157
1
原创 管道通信pipe()的使用程序
管道通信:要在新建子进程前建立管道,这样才能使父进程和子进程使用该管道通信先:pipe(fd);后:pid=fork();在建立管道和子进程的时候要判断一下这两个命令有没有运行成功!#include<string.h>#include<stdio.h>#include<sys/types.h>#include<errno.h>...
2019-02-14 22:03:03
1055
原创 守护进程的创建与程序
创建一个守护进程,进程的内容为往一个文件里写入一句话,每隔一秒钟写入一句话查看进程ps -x 结束进程kill ??#include<fcntl.h>#include<sys/types.h>#include<sys/wait.h>#include<unistd.h>#include<stdio.h>#incl...
2019-02-14 16:01:02
429
空空如也
基于TCP实现多人聊天,遇到线程不够用的现象
2019-07-20
基于TCP实现多人聊天,遇到线程不够用的现象
2019-07-19
自己写strcat()函数是出现段错误,这是为什么呀
2019-03-05
新建单链表,运行时出现段错误,怎么改呀?
2019-02-18
int arr[3][3],*p=arr; 出错
2018-11-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人