HTMl和MYSQL
HTML
超文本标记语言是一种用于创建网页的标准标记语言。
可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。
HTML 是用来描述网页的一种语言。
HTML 是一种标记语言
标记语言是一套标记标签
HTML 使用标记标签来描述网页
HTML语法结构
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>我的第一个标题</h1>
<p>我的第一个段落。</p >
</body>
</html>
<!DOCTYPE html>
声明为 HTML5 文档<html>
元素是 HTML 页面的根元素
<head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title> 元素描述了文档的标题
<body> 元素包含了可见的页面内容
<h1>
元素定义一个大标题
<p>
元素定义一个段落<button>
标签定义可点击的按钮<input>
元素用于为基于 Web 的表单创建交互式控件,以便接受来自用户的数据<div>
:内容划分元素<img>
标签用于在 HTML 页面中嵌入图像<iframe>
表示嵌套的browsing context。它能够将另一个 HTML 页面嵌入到当前页面中<a>
标签定义超链接,用于从一张页面链接到另一张页面
id 全局属性定义了一个全文档唯一的标识符
从技术上讲,id 属性的值可以包含除了空白字符的任何字符。然而,为了避免无意中的错误,只能使用 ASCII 字母、数字、’_’ 和 ‘-‘,并且id 属性的值应该以字母开头。
全局属性 class 的值是一个以空格分隔的元素的类名列表,它允许 CSS 和 Javascript 通过类选择器 或 DOM 方法来选择和访问特定的元素。尽管对 class 的命名没有要求,但 web 开发者最好使用可以表达元素语义目的的名称。<img>src
属性是必须的,它包含了你想嵌入的图片的路径。
绝对 URL - 链接到托管在其他网站上的外部图像。
相对 URL - 链接到托管在网站内部的图像。
href 属性规定链接指向的页面的 URL。MySQL 是最流行的关系型数据库管理系统,关联数据库将数据保存在不同的表中。
SQL语句的分类
1.DQL:数据查询语言(凡是带有select关键字的都是查询语句)
简单查询
1.1查询一个字段
select 字段名 from 表名;
注意:
select和from都是关键字。
字段名和表名都是标识符。
所有的SQL语句都以”;”结尾。
2.DML:数据操作语言(凡是对表单中的数据进行增删改的都是DML)
insert delete update
insert 增
delete 删
update 改
3.DDL:数据定义语言(凡是带有create、drop、alter的都是DDL)
DDL主要操作的是表的结构。
create:新建,等同于增
drop:删除
alter:修改
表的创建
建表的语法格式:(建表属于DDL语句)
create table 表名(
字段名1 数据类型,
字段名2 数据类型
);
表名:建议以t_或者tbl_开始。
表名和字段名都属于标识符。
MySQL中的数据类型
varchar:可变长度的字符串
会根据实际的数据长度动态分配空间。
char:定长字符串
int:数字中的整数型
插入数据insert(DML)
语法格式:
insert into 表名(字段名1,字段名2…) values(值1,值2);
注意:字段名和值要一一对应。
数量、数据类型要对应。
修改update(DML)
语法格式:
update 表名 set 字段名1=值1,字段名2=值2… where 条件;
注释语法
1.从一个 # 到行末。
2.从两个连续横杠 – 序列到行尾。 在MySQL中, - (两个连续横杠 )注释样式要求第二个破折号后跟至少一个空格或控制字符(例如空格,制表符,换行符等)。
3.从一个 /* 顺序到下一个* /结束。
查询逻辑
1、连接器:负责跟客户端建立连接、获取权限、维持和管理连接。
先连接到数据库上。
2、查询缓存
拿到一个查询请求,先到查询缓存看看。
3、分析器
没有命中查询缓存,开始执行语句。分析器开始词法分析和语法分析。
4、优化器
优化器在表里面有多个索引,决定使用哪个索引,或者多表关联的时候,决定各个表的连接顺序。
5、执行器
遍历过程中所有满足条件的行组成的记录集作为结果集返回给客户端。
MySQL漏洞利用
1.密码获取
1.1暴力破解
1.2源代码泄露
1.3文件包含
1.4其他情况
2.获取webshell
2.1phpmyadminroot账号获取webshell
2.2sqlmap注入点获取webshell
3.提权
3.1mof提权
3.2Msf直接mof提权
3.3UDF提权
局部和全局作用域
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。
PHP global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字。
Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。当您希望某个局部变量不要被删除。
应在您第一次声明变量时使用 static 关键字。
参数作用域
参数是通过调用代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分。
PHP echo 和 print 语句
echo 和 print 区别:
echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
PHP EOF(heredoc) 使用说明
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
使用概述:
1.必须后接分号,否则编译通不过。
2.EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
3.结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
4.开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
5,.内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
1 | `<h1>我的第一个标题</h1> |
PHP数据类型
PHP 数组
数组可以在一个变量中存储多个值。
PHP 对象
对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后在类中定义数据类型,再在实例化的类中使用数据类型。
PHP 资源类型
PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。