目录
前言:
学习了很久web了,总是东一边西一片的学,中间总是不断的间断,写下论文见证自己,暑假来了,努力的学一些自己喜欢的,多动手做笔记,希望自己可以变的更优秀,也给同样的朋友打个气,努力努力再努力!之前的水论文我也不舍得删就留着吧!今天开始认真整理笔记!!!
第一天学习内容
什么是HTLM?
HTML(HyperText Mark-up Language)即超文本标记语言
何为超文本:超文本 可以实现页面内可以包含图片、链接、甚至音乐、小程序。
何为标记:当浏览器遇到对应的标签符号时 就实现对应的功能!
网页文件扩展名:.HTML .htm
HTML文件结构:
以开始到结束 这一对告诉浏览器这是一个html文件
标签的属性?
图片标签可以有宽度高度
HTTP的产生还是为HTML服务的.
设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform
Resource Identifiers,URI)来标识。
什么是CSS?
CSS(cascading style sheets的缩写)
翻译为“层叠样式表”或者“级联样式表”,简称样式表。
css的主要作用:
它主要是用来给html网页来设计外观或者样式
HTML网页中的文字的大小、颜色、字体、网页的背景颜色、背景图片都是可以通过css来控制
什么是JavaScript(JS)
Javascript简介:
JavaScript是网景公司开发的一款基于浏览器,基于面向对象、事件驱动式的网页脚本语言。
javascript和css的三种书写格式基本一致
1.嵌入式:通过标签将javascript代码嵌入到html代码中
2.外链式:js代码单独保存为一个.js扩展明的文件,通过HTML中的src属性将其引入到html文件中!
3.行内式:将js代码书写到html标签的事件中
html标签有一些事件属性带有on前缀 比如鼠标经过、鼠标离开<标签名 事件属性 =“js代码”>
第二天学习内容
PHP_环境
环境搭建:上一章是html 是由浏览器解析的,所以有浏览器就好,为什么要搭建环境?搭建了环境就可以在本地进行项目的复现,漏洞的分析。
- PHPstudy
- Mysql
- 网络请求/本地解析概念
装好phpstudy之后 php的环境mysql的环境 apache的环境就都继承了
什么是phpinfo呢?
就是把当前服务器上的各种配置,php的各种配置输出出来!
安装了phpstudy之后我们的电脑就可以当作一台服务器被访问!
静态网站-----没有交互的网站
动态网站-----和用户的交互性很强,无需手动更新html文档,网页的url后缀不是html .htm 常见的形式是以.asp .jsp .php .perl .cgi 等形式为后缀,在动态网页网址中有一个标志性的符号----?
静态网站的访问过程
动态网站比静态网站的访问流程会多出两个内容,服务器端的解析和数据库的操作。
静态网站的访问是用户电脑发出请求通过域名解析得到地址,通过ip访问服务器对应的端口返回响应的内容。
动态网站访问过程
动态网站是通过ip请求访问的服务器的中间件,apache看到是php的请求,就会把请求交给php处理,在处理过程中可能会查询数据库,数据库会把结果返回到php,php对数据进行操作,遍历拼接,呈现给apache,apache得到结果再返回给浏览器,浏览器再进行解析
php基础
1.php是一种运行在服务端的脚本语言,可以嵌入到html中
2.php语法标记为<?php php代码?>
3.php语句分隔符;
php变量
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念,变量可以通过变量名来访问,在指令式语言中,变量通常是可变的。
1.变量用来存储数据
2.变量有名字
3.变量通过名字来访问
4.变量是可以改变的
php中所有的变量必须使用$符号
我们写了一个html表单提交的页面
action中指到了demo1.php写好的php脚本接收了一下
demo1.php源代码如上图 先调用了个系统预定义变量
G
E
T
接
收
了
表
单
中
的
u
s
e
r
n
a
m
e
和
p
a
s
s
w
o
r
d
把
他
们
的
值
分
别
写
入
了
_GET 接收了表单中的username 和password 把他们的值分别写入了
GET接收了表单中的username和password把他们的值分别写入了user和$pass变量 然后输出了一下效果如下图 echo"
";是输出了
被浏览器解读为横线;
PHP中有很多的系统预定义变量 我们用到哪个再学哪个;
函数 var_dump() 函数用于输出变量的相关信息。
var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
函数is_string() 函数用于检测变量是否是字符串。
gettype() 函数用于获取变量的类型。
是标准格式化输出 var_dump是输出变量的函数 $_server是系统预定义变量 输出服务器的详细信息用的
php运算符
运算符是一种将数据进行运算的特殊符号
不多讲解了大多和其他语言一样
PHP流程控制
控制分类
1.顺序结构:代码从上至下 顺序执行;
2.分支结构:给定一个条件,同时有多种可执行的代码块,然后根据条件执行某一段
3.循环结构:在某个条件控制范围内,指定的代码块可重复执行
其他就是php的基本语法了 基本和python相同
“”"可以解析变量 ‘’单引号不能;
php循环结构
循环分类
1.for循环 通过条件 起始和终止判断执行;
2.while循环 通过判断条件终止
3.do-while循环 跟while差不多
MySql
数据库的基本概念
数据库就是存储数据的仓库
- 网络数据库
- 层级数据库
- 关系数据库
关系型数据库存在磁盘 非关系数据库存在内存
mysql的增删改查
#插入数据
insert into demo(id) values(9)
#查询数据
select * from demo
select name from demo where id=9
#更新数据
update demo set name =‘找’ where id =9
#删除数据
delete from demo
show datebases like ‘yan%’ %号是后面的多位不进行限制
show datebase like ‘yanshi_’ _ 是匹配这一位
drop database 数据库名字 删除数据库
create database 数据库名字 创建数据库
select * from demo select是查询 *是所有 from是源、来源 demo是表
update demo set name =‘找’ where id =9用代码更新数据(如果不写where是全表更新)
delete from 表名 where id=5 删除 如果没用where就自动删除整个表
mysql的高级查询
insert into demo values (1,‘小百度’),(2,‘小绘图’),(3,‘大灰狼’);
insert into demo (id) values (4),(5),(6);
update demo set name = ‘小白兔’ limit 4
可以用limit对表进行限制
group by 进行分组
select type,count() from demo GROUP BY type
as可以取别名但是不会对表产生影响
如
select type as fenzu,count() as zongshu from demo GROUP BY type
select type,sum(id) from demo GROUP BY type
求和和求最大值
select GROUP_CONCAT(id,name,type) from demo
有时候回显注入点可能就只有一个 需要用 group_concat进行全部的回显
重点:where之后是从磁盘拿到了内存 然后 group by在where之后 没法再用where 可以用having!!!!!
orde by是个排序 select * from demo order by id desc(倒序)默认是升序
limit是获取数据量
select * from demo limit 2
select * from demo limit 2,2 可以加上偏移量
联合查询
联合查询是可合并多个相似的查询的结果集
相当于把一个表追加到另一个表,从而实现将两个表的查询组合到一起
select 语句 union select
保证前后字段数一样 就是列数一样 不需要每次拿到的类型相同 永远保存第一个select语句对应的字段名字