auto commit
This commit is contained in:
parent
0d31132380
commit
a6d6f8b29e
|
@ -906,9 +906,9 @@ strSQL = "SELECT * FROM users;"
|
|||
|
||||
### 3. 防范手段
|
||||
|
||||
(一)使用参数化查询
|
||||
**(一)使用参数化查询**
|
||||
|
||||
以下以 Java 中的 PreparedStatement 为例,它是预先编译的 SQL 语句,可以并且传入适当参数多次执行。由于没有拼接的过程,因此可以防止 SQL 注入的发生。
|
||||
以下以 Java 中的 PreparedStatement 为例,它是预先编译的 SQL 语句,可以传入适当参数并且多次执行。由于没有拼接的过程,因此可以防止 SQL 注入的发生。
|
||||
|
||||
```java
|
||||
PreparedStatement stmt = connection.prepareStatement("SELECT * FROM users WHERE userid=? AND password=?");
|
||||
|
@ -917,7 +917,7 @@ stmt.setString(2, password);
|
|||
ResultSet rs = stmt.executeQuery();
|
||||
```
|
||||
|
||||
(二)单引号转换
|
||||
**(二)单引号转换**
|
||||
|
||||
将传入的参数中的单引号转换为连续两个单引号,PHP 中的 Magic quote 可以完成这个功能。
|
||||
|
||||
|
@ -984,7 +984,7 @@ POST /add_row HTTP/1.1 -> Adds a 2nd row
|
|||
POST /add_row HTTP/1.1 -> Adds a 3rd row
|
||||
```
|
||||
|
||||
DELETE /idX/delete HTTP/1.1 是幂等的,即便是不同请求之间接收到的状态码不一样:
|
||||
DELETE /idX/delete HTTP/1.1 是幂等的,即便不同的请求接收到的状态码不一样:
|
||||
|
||||
```
|
||||
DELETE /idX/delete HTTP/1.1 -> Returns 200 if idX exists
|
||||
|
@ -996,9 +996,9 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404
|
|||
|
||||
如果要对响应进行缓存,需要满足以下条件:
|
||||
|
||||
1. 请求报文的 HTTP 方法本身是可缓存的,包括 GET 和 HEAD,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存的。
|
||||
2. 响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。
|
||||
3. 响应报文的 Cache-Control 首部字段没有指定不进行缓存。
|
||||
- 请求报文的 HTTP 方法本身是可缓存的,包括 GET 和 HEAD,但是 PUT 和 DELETE 不可缓存,POST 在多数情况下不可缓存的。
|
||||
- 响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。
|
||||
- 响应报文的 Cache-Control 首部字段没有指定不进行缓存。
|
||||
|
||||
## XMLHttpRequest
|
||||
|
||||
|
@ -1010,14 +1010,12 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404
|
|||
|
||||
# 九、HTTP/1.0 与 HTTP/1.1 的区别
|
||||
|
||||
1. HTTP/1.1 默认是持久连接
|
||||
2. HTTP/1.1 支持管线化处理
|
||||
3. HTTP/1.1 支持虚拟主机
|
||||
4. HTTP/1.1 新增状态码 100
|
||||
5. HTTP/1.1 支持分块传输编码
|
||||
6. HTTP/1.1 新增缓存处理指令 max-age
|
||||
|
||||
具体内容见上文
|
||||
- HTTP/1.1 默认是持久连接
|
||||
- HTTP/1.1 支持管线化处理
|
||||
- HTTP/1.1 支持虚拟主机
|
||||
- HTTP/1.1 新增状态码 100
|
||||
- HTTP/1.1 支持分块传输编码
|
||||
- HTTP/1.1 新增缓存处理指令 max-age
|
||||
|
||||
# 十、HTTP/2.0
|
||||
|
||||
|
@ -1026,7 +1024,7 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404
|
|||
HTTP/1.x 实现简单是以牺牲应用性能为代价的:
|
||||
|
||||
- 客户端需要使用多个连接才能实现并发和缩短延迟;
|
||||
- 不会压缩请求和响应标头,从而导致不必要的网络流量;
|
||||
- 不会压缩请求和响应首部,从而导致不必要的网络流量;
|
||||
- 不支持有效的资源优先级,致使底层 TCP 连接的利用率低下。
|
||||
|
||||
## 二进制分帧层
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
* [目录配置](#目录配置)
|
||||
* [五、文件](#五文件)
|
||||
* [文件属性](#文件属性)
|
||||
* [文件时间](#文件时间)
|
||||
* [文件与目录的基本操作](#文件与目录的基本操作)
|
||||
* [修改权限](#修改权限)
|
||||
* [文件默认权限](#文件默认权限)
|
||||
|
@ -154,8 +153,8 @@ Linux 发行版是 Linux 内核及各种应用软件的集成版本。
|
|||
|
||||
| 基于的包管理工具 | 商业发行版 | 社区发行版 |
|
||||
| :--: | :--: | :--: |
|
||||
| DPKG | Ubuntu | Debian |
|
||||
| RPM | Red Hat | Fedora / CentOS |
|
||||
| DPKG | Ubuntu | Debian |
|
||||
|
||||
## VIM 三个模式
|
||||
|
||||
|
@ -197,12 +196,12 @@ GNU 计划,译为革奴计划,它的目标是创建一套完全自由的操
|
|||
|
||||
Hard Disk Drives(HDD) 俗称硬盘,具有以下结构:
|
||||
|
||||
1. 盘面(Platter):一个硬盘有多个盘面;
|
||||
2. 磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;
|
||||
3. 扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;
|
||||
4. 磁头(Head):与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者将电信号转换为盘面的磁场(写);
|
||||
5. 制动手臂(Actuator arm):用于在磁道之间移动磁头;
|
||||
6. 主轴(Spindle):使整个盘面转动。
|
||||
- 盘面(Platter):一个硬盘有多个盘面;
|
||||
- 磁道(Track):盘面上的圆形带状区域,一个盘面可以有多个磁道;
|
||||
- 扇区(Track Sector):磁道上的一个弧段,一个磁道可以有多个扇区,它是最小的物理储存单位,目前主要有 512 bytes 与 4 K 两种大小;
|
||||
- 磁头(Head):与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者将电信号转换为盘面的磁场(写);
|
||||
- 制动手臂(Actuator arm):用于在磁道之间移动磁头;
|
||||
- 主轴(Spindle):使整个盘面转动。
|
||||
|
||||
<div align="center"> <img src="../pics//014fbc4d-d873-4a12-b160-867ddaed9807.jpg" width=""/> </div><br>
|
||||
|
||||
|
@ -271,9 +270,9 @@ MBR 不支持 2.2 TB 以上的硬盘,GPT 则最多支持到 2<sup>33</sup> TB
|
|||
|
||||
### 1. BIOS
|
||||
|
||||
BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入与硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。
|
||||
BIOS(Basic Input/Output System,基本输入输出系统),它是一个固件(嵌入在硬件中的软件),BIOS 程序存放在断电后内容不会丢失的只读内存中。
|
||||
|
||||
BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的 MBR,由 MBR 执行 MBR 中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。
|
||||
BIOS 是开机的时候计算机执行的第一个程序,这个程序知道可以开机的磁盘,并读取磁盘第一个扇区的 MBR,由 MBR 执行其中的开机管理程序,这个开机管理程序会加载操作系统的核心文件。
|
||||
|
||||
<div align="center"> <img src="../pics//50831a6f-2777-46ea-a571-29f23c85cc21.jpg"/> </div><br>
|
||||
|
||||
|
@ -301,13 +300,13 @@ BIOS 不可以读取 GPT 分区表,而 UEFI 可以。
|
|||
|
||||
最主要的几个组成部分如下:
|
||||
|
||||
1. inode:一个文件占用一个 inode,记录文件的属性,同时记录此文件的内容所在的 block 编号;
|
||||
2. block:记录文件的内容,文件太大时,会占用多个 block。
|
||||
- inode:一个文件占用一个 inode,记录文件的属性,同时记录此文件的内容所在的 block 编号;
|
||||
- block:记录文件的内容,文件太大时,会占用多个 block。
|
||||
|
||||
除此之外还包括:
|
||||
|
||||
1. superblock:记录文件系统的整体信息,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
|
||||
2. block bitmap:记录 block 是否被使用的位域;
|
||||
- superblock:记录文件系统的整体信息,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
|
||||
- block bitmap:记录 block 是否被使用的位域;
|
||||
|
||||
## 文件读取
|
||||
|
||||
|
@ -404,11 +403,11 @@ ext3/ext4 文件系统引入了日志功能,可以利用日志来修复文件
|
|||
|
||||
9 位的文件权限字段中,每 3 个为一组,共 3 组,每一组分别代表对文件拥有者、所属群组以及其它人的文件权限。一组权限中的 3 位分别为 r、w、x 权限,表示可读、可写、可执行。
|
||||
|
||||
## 文件时间
|
||||
文件时间有以下三种:
|
||||
|
||||
1. modification time (mtime):文件的内容更新就会更新;
|
||||
2. status time (ctime):文件的状态(权限、属性)更新就会更新;
|
||||
3. access time (atime):读取文件时就会更新。
|
||||
- modification time (mtime):文件的内容更新就会更新;
|
||||
- status time (ctime):文件的状态(权限、属性)更新就会更新;
|
||||
- access time (atime):读取文件时就会更新。
|
||||
|
||||
## 文件与目录的基本操作
|
||||
|
||||
|
@ -813,7 +812,7 @@ $ echo $var
|
|||
$ echo ${var}
|
||||
```
|
||||
|
||||
变量内容如果有空格,必须需要使用双引号或者单引号。
|
||||
变量内容如果有空格,必须使用双引号或者单引号。
|
||||
|
||||
- 双引号内的特殊字符可以保留原本特性,例如 var="lang is \$LANG",则 var 的值为 lang is zh_TW.UTF-8;
|
||||
- 单引号内的特殊字符就是特殊字符本身,例如 var='lang is \$LANG',则 var 的值为 lang is \$LANG。
|
||||
|
@ -842,10 +841,10 @@ $ echo ${array[1]}
|
|||
|
||||
## 指令搜索顺序
|
||||
|
||||
1. 以绝对或相对路径来执行指令,例如 /bin/ls 或者 ./ls ;
|
||||
2. 由别名找到该指令来执行;
|
||||
3. 由 Bash 内建的指令来执行;
|
||||
4. 按 \$PATH 变量指定的搜索路径的顺序找到第一个指令来执行。
|
||||
- 以绝对或相对路径来执行指令,例如 /bin/ls 或者 ./ls ;
|
||||
- 由别名找到该指令来执行;
|
||||
- 由 Bash 内建的指令来执行;
|
||||
- 按 \$PATH 变量指定的搜索路径的顺序找到第一个指令来执行。
|
||||
|
||||
## 数据流重定向
|
||||
|
||||
|
@ -854,7 +853,7 @@ $ echo ${array[1]}
|
|||
| 1 | 代码 | 运算符 |
|
||||
| :---: | :---: | :---:|
|
||||
| 标准输入 (stdin) | 0 | < 或 << |
|
||||
| 标准输出 (stdout) | 1 | > 或 >> |
|
||||
| 标准输出 (stdout) | 1 | > 或 >> |
|
||||
| 标准错误输出 (stderr) | 2 | 2> 或 2>> |
|
||||
|
||||
其中,有一个箭头的表示以覆盖的方式重定向,而有两个箭头的表示以追加的方式重定向。
|
||||
|
|
Loading…
Reference in New Issue
Block a user