创建javaee项目
创建新项目时可以删除的内容:
Servlet&路由&周期https://blog.csdn.net/yxmoar/article/details/109889006
什么是ServletServlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。本章内容详细讲解了web开发的相关内容以及servlet相关内容的配置使用,是JAVAEE开发的重中之重。
Servlet API
创建一个类继承HttpServlet
web.xml配置映射关系具体参考:https://blog.csdn.net/weixin_52937170/article/details/142183673
当访问index时,经过路由配置访问到IndexServlet,由于是GET请求,触发了doGet方法(类似于反序列化的魔术方法)
类似的 触发doPost方法:
还 ...
留言板功能
mysqli函数&增删改查PHP操作数据库函数
常用:mysqli_connect() 打开一个到MySQL的新的连接。mysqli_select_db() 更改连接的默认数据库。mysqli_query() 执行某个针对数据库的查询。mysqli_fetch_row() 从结果集中取得一行,并作为枚举数组返回。mysqli_close() 关闭先前打开的数据库连接。
查:select * from 表名 where 列名=‘条件’;增:insert into 表名(列名1, 列名2) value(‘列1值1’, ‘列2值2’);删:delete from 表名 where 列名 = ‘条件’;改:update 表名 set 列名 = 数据 where 列名 = ‘条件’;
mysqli.connect函数连接数据库构建数据库连接,以及执行数据库插入操作
发现可以插入数据,但是由于用户名和内容可以不进行添加就加入数据库
多加一层判空,如果<font style="background-color:rgba(255, 255, 255, 0);& ...
php可以嵌入在HTML语言中进行编写
基本语法基本规则php标记
<?php //内容?>如果整个php文件中都是php代码的话,后面的 ?> 可以省略
指令分隔符; //每行php代码都要以;结尾
注释
单行注释//注释内容
多行注释/*注释内容*/
变量php是弱类型,定义变量时不需要声明变量类型,输入$和变量名即可
双引号中的变量才可以输出值
变量命名规则
变量以$符号开始,后面跟着变量的名称;
变量名必须以字母或者下划线字符开始;
变量名只能包含字母、数字以及下划线(Az、09和_);
变量名不能包含空格;
变量名是区分大小写的($y和$Y是两个不同的变量)
页面输出echo 输出单一类型,多个用逗号隔开print_r() 输出符合类型,一般用于输出数组var_dump() 打印数据详细信息
基础数据类型
String(字符串)
Integer(整型)
Float(浮点型)
Boolean(布尔型)
NULL(空)
String(字符串类型)纯文本,可以将任何文本放在单引号和双引号中
<?php ...
原生JS文件上传JS实现文件上传<!-- 表单用于文件上传,指定了上传的目标地址为 "upload.php",使用 POST 方法提交,并设置 enctype 为 "multipart/form-data" --><form action="upload.php" method="POST" enctype="multipart/form-data"> <!-- 为文件上传输入框添加标签 --> <label for="file">选择文件:</label> <br> <!-- 这是一个包含文件上传输入框的 HTML 代码,并且在用户选择文件时触发 CheckFileExt 函数 --> <input type="file" id="file" name="f" onchange=" ...
安全开发
未读介绍脚本语言,可用于HTML和web,可以插入HTML页面
JS组成三部分
ECMScript:脚本程序设计语言(JavaScript的核心)
BOM:浏览器对象模型(Browser Object Model)
DOM:文档对象模型(Document Object Model)
JS功能:
表单的验证:
以往处理方式:表单提交一>服务端判断数据一>返回结果
使用JS处理方式:用户输入一>提交之前检查数据合法性一>获取到数据结果一>最终提交内容
运行在服务端:例如提供http服务、实现文件操作等
实现小游戏
实现网页特效:例如选项卡、幻灯片等
JS应用到页面中的三种方法:
行内应用
在HTML代码中嵌入JS代码,不使用script标签
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, in ...
前期准备工作安装git clone https://github.com/roottusk/vapi.gitcd vapi/docker-compose up -d
安装完成后访问http://IP:80/vapi/ 即可访问 vAPI
postman配置下载的/vapi/postman路径下有两个文件
vAPI.postman_collection.jsonvAPI_ENV.postman_environment.json
将这两个文件一起导入postman
设置host
之后要再修改值
或者直接在环境中添加变量
在之后直接引用这个环境
通关过程API1 - 失效的对象级授权
Broken Object Level Authorization损坏的对象级授权
失效的对象级别授权指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据(直接的对象引用或限制的URL)。例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
简单的API权限校验缺失导致的越权
接口Create User
传 ...
智能家居:手机app发送数据给服务器,服务器通过api下达指令给设备
API分类特征SOAP - WSDLOpenApi - SwaggerRESTful - /v1/api/
添加wsdl参数可以看到全部的api接口地址和参数信息
后缀为asmx
小众接口:自己开发调用官方接口:微信等其他厂商开发,开发者调用
结合网站功能看
API常见漏洞XSS跨站,信息泄露,暴力破解,文件上传,未授权访问,JWT授权认证,接口滥用、逻辑越权等
API检测流程Method:请求方法攻击方式:OPTIONS,PUT,MOVE,DELETE效果:上传恶意文件,修改页面等
URL:唯一资源定位符攻击方式:猜测,遍历,跳转效果:未授权访问等
Params:请求参数攻击方式:构造参数,修改参数,遍历,重发效果:爆破,越权,未授权访问,突破业务逻辑等
Authorization:认证方式攻击方式:身份伪造,身份篡改效果:越权,未授权访问等
Headers:请求消息头攻击方式:拦截数据包,改Hosts,改Referer,改Content-Type等效果:绕过身份认证,绕过Refe ...
数据库相关知识结构化信息或数据的有组织的集合,通常有数据库管理系统(DBMS)来控制
大多数数据库使用结构化查询语言(SQL)来编写和查询数据
简单来说就是存放数据的仓库
整个数据库系统可以包含多个数据库,一个数据库可以包含多个数据表,一个数据表可以有多个列(字段)
连接数据库方法
MySQL命令行(cmd中执行mysql -uroot -p)
使用数据库连接软件(例如phpstudy自带的MySQL-Front、Navicat、phpMyAdmin等)
php连接数据库(写php代码来进行连接操作)
数据库操作增向数据库中插入数据
插入单条数据insert into 表名(字段1,字段2,.......)values(值1,值2,.......); 插入多条数据 insert into 表名 (字段1,字段2,.......) values (值1,值2,.......), (值11,值12,.......), (值21,值22,.......); 举例 insert into guestbook ...
Docker 教程 | 菜鸟教程
云服务器介绍(vps)
vps介绍
虚拟专用服务器(英语:Virtual private server,缩写为VPS),是将一台服务器分割成多个虚拟专用服务器的服务。实现VPS的技术分为容器技术和虚拟机技术。在容器或虚拟机中,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。VPS为用户提供了管理配置的自由,可用于企业虚拟化,也可以用于IDC资源租用。
IDC资源租用由VPS提供商提供。不同VPS提供商所使用的硬件、软件的差异,及销售策略的不同,VPS的使用体验也有较大差异。尤其是VPS提供商超卖,导致实体服务器超负荷时,VPS性能将受到极大影响。相对来说,容器技术比虚拟机技术效率更高,成本更低,但功能更少,更易超卖,一般来说容器VPS的价格都低于虚拟机VPS的价格。
这些VPS主机以最大化的效率共享硬件、软件许可证以及管理资源。每个VPS主机都可分配独立公网IP地址、 ...
下载压缩包,解压
发现是直接打包好的虚拟机
VMware打开vmx文件是一个ubantu系统
在root的家目录下发现有一个打包好的ns3的tar.bz2文件,解压
sudo tar -jxvf ns-allinone-3.33.tar.bz2
不sudo也可以
解压到当前目录,进入文件夹
cd ns-allinone-3.33ls -a
发现有一个build.py文件
查看README,也是要执行build.py
运行build.py
./build.py
下载时间很长 2000多项
安装完成后
进入ns-3.33目录
运行test.py
cd ns-3.33ls./test.py
如果显示如下信息(0 failed, 0 crashed, 0 valgrind errors),则代表ns-3已经正确构建