安全矩阵

 找回密码
 立即注册
搜索
楼主: Mint97

袁青学习日记

[复制链接]

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-3 08:39:19 | 显示全部楼层
PHP学习(二)
首先我们在学这个PHP之前,我们就必须要安装相应的环境
PHP 开发工具其实包括以下四种:
1 PHP服务器组件
2 文本编辑器
因此,我在此之前安装的xampp发挥了作用,至于文本编译器,我暂时用了记事本,后面再改notepad吧。
首先我们要创建一个社工库,和一个查询界面,首先,我们应该利用html创建一个简单的查询界面,写查询按钮的点击事件。现在就是回顾之前学过的html知识的时刻,而创建一个查询界面,在html中最重要的就是表单,所以,我们就应该回顾这方面的知识:
HTML 表单用于收集用户输入。
<form> 元素定义 HTML 表单。
HTML 表单包含表单元素。
表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等等。
<input> 元素
<input> 元素是最重要的表单元素。
<input> 元素有很多形态,根据不同的 type 属性。
这是本章中使用的类型:
类型         描述
text           定义常规文本输入。

radio         定义单选按钮输入(选择多个选择之一)

submit      定义提交按钮(提交表单)

注释:您稍后将在本教程学到更多有关输入类型的知识。

文本输入
<input type="text"> 定义用于文本输入的单行输入字段:
实例
<form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
</form>


注释:表单本身并不可见。还要注意文本字段的默认宽度是 20 个字符。

提交按钮
<input type="submit"> 定义用于向表单处理程序(form-handler)提交表单的按钮。
表单处理程序通常是包含用来处理输入数据的脚本的服务器页面。
表单处理程序在表单的 action 属性中指定:
实例
<form action="action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
在浏览器中看起来是这样的:
窗体顶端


Action 属性
action 属性定义在提交表单时执行的动作。
向服务器提交表单的通常做法是使用提交按钮。
通常,表单会被提交到 web 服务器上的网页。
在上面的例子中,指定了某个服务器脚本来处理被提交表单:
<form action="action_page.php">
如果省略 action 属性,则 action 会被设置为当前页面。
Name 属性
如果要正确地被提交,每个输入字段必须设置一个 name 属性。
本例只会提交 "Last name" 输入字段:
实例
<form action="action_page.php">
First name:<br>
<input type="text" value="Mickey">
<br>
Last name:<br>
回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-4 21:48:19 | 显示全部楼层
本帖最后由 Mint97 于 2020-5-5 00:29 编辑

php学习(三)
已经复习了html表单元素,所以我就简单的设计了一个查询页面:

接下来,就需要学一些php的基础知识了。
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。


基础 PHP 语法
PHP 脚本可放置于文档中的任何位置。
PHP 脚本以 <?php 开头,以 ?> 结尾:
<?php// 此处是 PHP 代码?>
PHP 文件的默认文件扩展名是 ".php"。
PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。


注释:
PHP 语句以分号结尾(;)。


php变量
PHP变量可以看成储存信息的容器。
PHP 变量规则:
  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及  _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
注释:PHP 变量名称对大小写敏感!
ps:这和python的变量很相似,可以一起理解。

PHP中的echo和print语句
echo 和 print 之间的差异:
  • echo - 能够输出一个以上的字符串(同时请注意字符串中能包含 HTML 标记)
  • print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。




PHP表单
PHP 超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)。

PHP - 一个简单的 HTML 表单
下面的例子显示了一个简单的 HTML 表单,它包含两个输入字段和一个提交按钮:
实例<html><body><form action="welcome.php" method="post">Name: <input type="text" name="name"><br>E-mail: <input type="text" name="email"><br><input type="submit"></form></body></html>

当用户填写此表单并点击提交按钮后,表单数据会发送到名为 "welcome.php" 的 PHP 文件供处理。表单数据是通过 HTTP POST 方法发送的。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-5 00:38:35 | 显示全部楼层
本帖最后由 Mint97 于 2020-5-6 17:01 编辑

Navicat工具介绍
软件介绍
第一步:新建一个数据链接
如下图,按照对应的输入,就能链接到数据库了 :

第二步:使用简单介绍




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-7 19:23:51 | 显示全部楼层
PHP学习(四)
1 连接数据库
语法:mysql_connect(servername,username,password);
servername
可选。规定要连接的服务器。默认是 "localhost:3306"。

username
可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。

password
可选。规定登录所用的密码。默认是 ""。


$con=mysql_connect("localhost","root"," ");
上面一句是创建了一个mysql的连接,同时试图连接到localhost,也就是127.0.0.1上,同时访问该数据库,账号是:root,密码为空,我们可以进行一些判断,来检查是否数据库链接成功
if(!$con){
  die('数据库链接失败'.mysql_error());
}else{
  echo '数据库链接成功';
}
2、创建一个数据库
通过mysql_query()方法来执行数据库语句
mysql_query("create database phpone",$con);其中$con为一个链接标示符
那么通过上面这句话,我们就创建了一个名为phpone的数据库,同时我们可以通过navivat等数据库工具,看到自己所创建的数据库
3 创建数据库表
CREATE TABLE 用于在 MySQL 中创建数据库表。
语法:
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)
为了执行此命令,我必须向 mysql_query() 函数添加 CREATE TABLE 语句。
例子
下面的例子展示了如何创建一个名为 "Persons" 的表,此表有三列。列名是 "FirstName", "LastName" 以及 "Age":
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// Create database
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Database created";
  }
else
  {
  echo "Error creating database: " . mysql_error();
  }

// Create table in my_db database
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);

mysql_close($con);
?>
重要事项:在创建表之前,必须首先选择数据库。通过 mysql_select_db() 函数选取数据库。

在PHP中,$_POST[]主要用来获取<form>表单中填入的值。
如果想要用$_POST[]获取<form>中的值,需要设置两个属性--action&method--。action指向表单中的数据提交到的目标文件,method设置提交方式,一般使用post-->method = "post"


这是我简单的写了一个html文件:
<html>
<meta charset=”utf8”>
<body>
<h1 >欢迎来到测试小站</h1>
        <form action="4.php" method="get">
        <div id="content">
        <input type="text" name="text" />
                <input type="submit" value="Search" name="submit"/>
</body>
</html>


回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-13 20:33:19 | 显示全部楼层
本帖最后由 Mint97 于 2020-5-13 20:42 编辑

SQL 基础知识梳理(一)- 数据库与 SQL

目录

一、What's 数据库
  1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。如:大型-银行存储的信息,小型-电话簿。
  2.数据库管理系统(Batabase Management System,DBMS):用来管理数据库的计算机系统。
  3.关系型数据库(Relational Database,RDB):目前应用最广泛的数据库。
  4.结构化查询语言(Structured Query Language,SQL):专门用于操作 RDB。
  5.常见的 5 种关系型数据库管理系统(Relational Database Management System,RDBMS):
    ①Oracle Database:甲骨文公司
    ②SQL Server:微软公司
    ③DB2:IBM 公司
    ④PostgreSQL:开源
    ⑤MySQL:开源

二、数据库结构
  1.服务器:用于接收并处理其它程序发出的请求的程序(软件),或者是安装此类程序的设备(计算机)。
  2.客户端:向服务器发出请求的程序(软件),或者是安装此类程序的设备(计算机)。

  3.表(table):类似 Excel,由行和列组成的二维表。
  4.字段:表的列(垂直方向)。
  5.记录:表的行(水平方向)。【注意】关系数据库必须以行为单位进行数据读写。
  6.单元格:行列交汇处。【注意】与 Excel 不同,一个单元格只能输入一个数据。

三、SQL 概要
  1.SQL 语句:用关键字、表名和列名等组合而成的一条语句。
  2.3 种 SQL 语句种类:
    (1)DDL(Data Definition Language,数据定义语言):创建、删除或修改数据库以及数据库中的表等对象。
      ①CREATE:创建数据库和表等对象
      ②DROP:删除数据库和表等对象
      ③ALTER:修改数据库和表等对象
    (2)DML(Data Manipulation Language,数据操作语言):查询或修改表中的记录。
      ①SELECT:查询表中的数据
      ②INSERT:向表中插入数据
      ③UPDATE:修改表中的数据
      ④DELETE:删除表中的数据
    (3)DCL(Data Control Language,数据控制语言):确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定。
      ①COMMIT:确认对数据库中的数据进行的变更
      ②ROLLBACK:取消对数据库中的数据进行的变更
      ③GRANT:赋予用户的操作权限
      ④REVOKE:取消用户的操作权限
    【备注】DML 使用最频繁。
  3.SQL 语句书写规范:
    ①以分号(;)结尾;
    ②大小写不敏感,不区分关键字的大小写;【注意】插入到表中的数据是区分大小写的,如“HI”、“Hi”和“hi”都不同。
    ③该系列随笔将采用“关键字大写,表名和列名的首字母大写”的格式。
    ④单词使用半角空格或换行符隔开
  4.常数的书写方式:
    字符串、日期:用单引号括起来('),如'Hello','2016-09-24'。
    数字:直接书写,不用加单引号,如:5。

四、创建数据库与表
  1.数据库创建:
-- 语法:CREATE DATABASE <数据库名称>

CREATE DATABASE Shop -- 创建名为 Shop 的数据库
 2.表的创建
[url=][/url]
-- 语法:-- CREATE TABLE <表名>-- (--        <列名1> <数据类型> <约束>,--        <列名1> <数据类型> <约束>,--        ...--        <表约束1>,--        <表约束2>,--        ...-- )[url=][/url]

[url=][/url]
-- 创建名为 Shohin 的表CREATE TABLE Shohin(    shohin_id     CHAR(4)      NOT NULL,    shohin_mei    VARCHAR(100) NOT NULL,    shohin_bunrui VARCHAR(32)  NOT NULL,    hanbai_tanka  INTEGER ,    shiire_tanka  INTEGER ,    torokubi      DATE ,    PRIMARY KEY (shohin_id) );

五、更新和删除表
  1.删除表
-- 语法:DROP TABLE <表名>

DROP TABLE Shohin; -- 删除名为 Shohin 的表

  【注意】被删的表,无法恢复。
  2.更新表
    (1)添加列
-- 语法:ALTER TABLE <表名> ADD <列名> <类型>;

ALTER TABLE Shohin ADD Shohin_mei_Kana VARCHAR(100); -- 在 Shohin 中添加名为 Shohin_mei_Kana 类型为 VARCHAR(100) 的列

    (2)删除列
-- 语法:ALTER TABLE <表名> DROP COLUMN <列名>;

ALTER TABLE Shohin DROP COLUMN Shohin_mei_Kana; -- 删除 Shohin 表中名为 Shohin_mei_Kana 的列

  【注意】表定义变更后无法恢复。
SQL 基础知识梳理(二) - 查询基础


  这是《SQL 基础知识梳理(一)- 数据库与 SQL》的下篇。

目录
一、SELECT 语句基础  1.查询指定列:SELECT 关键字
--语法:--SELECT <列名>, ...     -- 希望查询列的名称--FROM <表名>            -- 指定选取数据的表
-- 从 Shohin 中取 3 列SELECT shohin_id, shohin_mei, hanbai_tanka  -- 列的顺序可以任意指定,逗号(“,”)分隔,查询结果的顺序和 SELECT 子句中的顺序相同FROM Shohin;


  2.查询表的所有列:星号(*)
--语法--SELECT *        -- 星号(*)代表所有列--FROM <表名>;

  【备注】使用星号(*)的话就无法设定列的显示顺序

  3.为列设定别名:AS 关键字
SELECT shohin_id AS Id, shohin_mei AS Name, shiire_tanka PriceFROM Shohin;    -- 不用 AS 关键字也可以


SELECT shohin_id AS "编号", shohin_mei AS '名称', shiire_tanka '价格'FROM Shohin;    -- 设定汉语别名:加上双引号(")或单引号(')


  4.常数的查询
SELECT '产品' AS Product,            -- '产品':字符串常数    38 AS Price,                    -- 38:数字常数    '2016-09-30' AS '生产日期'        -- '2009-02-24':日期常数

  【备注】字符串和日期使用单引号(')。

  5.从结果中删除重复行:DISTINCT

原图
  (1)
SELECT DISTINCT shohin_bunrui FROM dbo.Shohin;  -

使用 DISTINCT 移除 shohin_bunrui 列中的重复数据

  (2)DISTINCT 对 NULL 类型的处理:存在多条 NULL 值的行时,会结合为一条 NULL 数据。
SELECT DISTINCT shiire_tanka FROM dbo.Shohin;

  (3)多列之前使用 DISTINCT
SELECT DISTINCT shohin_bunrui, torokubiFROM dbo.Shohin

  DISTINCT 会将多个列的数据进行组合,将重复的数据结合为一条。
  【注意】DISTINCT 关键字只能用在第一个列名之前。

  6.筛选记录:WHERE
  WHERE 子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于这个数字”等条件,找出只符合该条件的记录。
--语法:--SELECT    <列名>, ...--FROM      <表名>--WHERE     <条件表达式>;

SELECT shohin_id, shohin_mei, shohin_bunruiFROM dbo.ShohinWHERE shohin_bunrui = '衣服';  -- shohin_bunrui = '衣服':为条件表达式

选取行之后,再输出列
  【备注】WHERE 子句:首先通过该子句查询出符合指定条件的记录,再选取出 SELECT 语句指定的列。
  【注意】SQL 子句的书写格式是固定的,不能随意更改。如 WHERE 子句必须紧跟在 FROM 子句后。

  7.注释的写法
  注释对于 SQL 的执行没有任何影响。
--  单行注释/*    多行注释*/

二、算术运算符和比较运算符  1.算术运算符
SELECT shohin_mei, hanbai_tanka, hanbai_tanka * 2 AS 'hanbai_tanka_x2'FROM dbo.Shohin;

图 商品单价的两倍

四则算术运算符含义运算符
加法+
减法-
乘法*
除法/
  括号(“(”“)”)可以提高表达式的优先级。

  2.需要注意 NULL
SELECT 5 + NULL, 10 - NULL, 1 * NULL, 4 / NULL, NULL / 9;

  【备注】所有包含 NULL 的计算,结果肯定为 NULL。

  3.比较运算符
比较运算符运算符含义
=相等
<>不等
>=大于等于
>大于
<=小于等于
<小于
--示例1:
SELECT
shohin_mei, shohin_bunruiFROM dbo.ShohinWHERE hanbai_tanka = 500;

选取 hanbai_tanka 列为 500 的记录
--示例2
SELECT
shohin_mei, shohin_bunruiFROM dbo.ShohinWHERE hanbai_tanka <> 500;

--示例3
SELECT
shohin_mei, shohin_bunruiFROM dbo.ShohinWHERE hanbai_tanka != 500;

选取 hanbai_tanka 列的值不是 500 的记录

--示例4
SELECT
*FROM dbo.ShohinWHERE hanbai_tanka - shiire_tanka >= 500;


  3.对字符串使用不等号时的注意事项
-- DDL:创建表CREATE TABLE Chars(chr CHAR(3) NOT NULL,PRIMARY KEY (chr));-- DML:插入数据INSERT INTO Chars VALUES ('1');INSERT INTO Chars VALUES ('2');INSERT INTO Chars VALUES ('3');INSERT INTO Chars VALUES ('10');INSERT INTO Chars VALUES ('11');INSERT INTO Chars VALUES ('222');
创建表

原图

--示例:选取出大于'2'的数据的 SELECT 语句SELECT *FROM dbo.CharsWHERE chr > '2';

  【注意】chr 为字符串类型,对字符串类型的数据进行大小比较时,跟数字不一样。

  4.不能对 NULL 使用比较运算符

--示例1:SELECT shohin_mei, shiire_tankaFROM dbo.ShohinWHERE shiire_tanka = NULL;        --错误的 SELECT 语句--示例2SELECT shohin_mei, shiire_tankaFROM dbo.ShohinWHERE shiire_tanka IS NULL;        --选取 NULL 的记录--示例3SELECT shohin_mei, shiire_tankaFROM dbo.ShohinWHERE shiire_tanka IS NOT NULL;    --选取不为 NULL 的记录


  【注意】希望选取 NULL 记录时,使用 IS NULL;希望选取不是 NULL 的记录时,使用 IS NOT NULL。

三、逻辑运算符  1.NOT 运算符:取反
--示例:
SELECT
*FROM dbo.ShohinWHERE NOT hanbai_tanka >= 1000;  --等价于 hanbai_tanka < 1000

取 hanbai_tanka 列不大于 1000 的记录(hanbai_tanka < 1000)

  2.AND 运算符和 OR 运算符
  AND 运算符:并且,在两侧的查询条件都成立时整个查询条件才成立。
  OR 运算符:在两侧的查询条件就算只有一个成立时整个查询条件都成立。
--示例
SELECT
shohin_mei, shiire_tankaFROM dbo.ShohinWHERE shohin_bunrui = '厨房用具'    AND hanbai_tanka >= 3000;

SELECT shohin_mei, shiire_tankaFROM dbo.ShohinWHERE shohin_bunrui = '厨房用具'    OR hanbai_tanka >= 3000;

  【备注】多个查询条件进行组合时,需要使用 AND 运算符或者 OR 运算符。

  2.通过括号进行强化

--示例1
SELECT
shohin_mei,    shohin_bunrui,    torokubiFROM dbo.ShohinWHERE shohin_bunrui = '办公用品'    AND torokubi = '2009-09-11'    OR torokubi = '2009-09-20';



--示例2SELECT shohin_mei,    shohin_bunrui,    torokubiFROM dbo.ShohinWHERE shohin_bunrui = '办公用品'    AND (torokubi = '2009-09-11'    OR torokubi = '2009-09-20');


  【备注】AND 运算优先于 OR 运算,想要优先执行 OR 运算时可以使用括号。
SQL 基础知识梳理(四) - 数据更新


  这是《SQL 基础知识梳理(三) - 聚合和排序》的下篇。

目录
一、插入数据  1.INSERT 语句的基本语法
--语法:--INSERT INTO <表名>(列1, 列2, ...) VALUES (值1, 值2, ...)

--示例
INSERT
INTO dbo.Shohin        ( shohin_id ,          shohin_mei ,          shohin_bunrui ,          hanbai_tanka ,          shiire_tanka ,          torokubi        )VALUES  ( '0011' , -- shohin_id - char(4)          'T 恤衫' , -- shohin_mei - varchar(100)          '衣服' , -- shohin_bunrui - varchar(32)          1000 , -- hanbai_tanka - int          500 , -- shiire_tanka - int          GETDATE()  -- torokubi - date        );


    (1)列名和值用逗号隔开,分别放在括号里,这种形式称为清单

        ( shohin_id ,                  shohin_mei ,          shohin_bunrui ,          hanbai_tanka ,          shiire_tanka ,          torokubi        )                --列清单        ( '0011' , -- shohin_id - char(4)          'T 恤衫' , -- shohin_mei - varchar(100)          '衣服' , -- shohin_bunrui - varchar(32)          1000 , -- hanbai_tanka - int          500 , -- shiire_tanka - int          GETDATE()  -- torokubi - date        )                --值清单   

INSERT INTO dbo.Shohin        ( shohin_id ,          shohin_mei ,          shohin_bunrui ,          hanbai_tanka ,          shiire_tanka ,          torokubi        )VALUES  ( '0012' , -- shohin_id - char(4)          'T 恤衫' , -- shohin_mei - varchar(100)          '衣服' , -- shohin_bunrui - varchar(32)          1000 , -- hanbai_tanka - int          500 , -- shiire_tanka - int          GETDATE()  -- torokubi - date        ),        ( '0013' , -- shohin_id - char(4)          'T 恤衫' , -- shohin_mei - varchar(100)          '衣服' , -- shohin_bunrui - varchar(32)          1000 , -- hanbai_tanka - int          500 , -- shiire_tanka - int          GETDATE()  -- torokubi - date        );
一次性多行 INSERT

  2.省略列清单

INSERT INTO dbo.ShohinVALUES  ( '0014' , -- shohin_id - char(4)          'T 恤衫' , -- shohin_mei - varchar(100)          '衣服' , -- shohin_bunrui - varchar(32)          1000 , -- hanbai_tanka - int          500 , -- shiire_tanka - int          GETDATE()  -- torokubi - date        );


  3.插入 NULL 值

INSERT INTO dbo.ShohinVALUES  ( '0015' , -- shohin_id - char(4)          'T 恤衫' , -- shohin_mei - varchar(100)          '衣服' , -- shohin_bunrui - varchar(32)          1000 , -- hanbai_tanka - int          NULL , -- shiire_tanka - int          GETDATE()  -- torokubi - date        );

  【备注】插入 NULL 值的列不能设置为 NOT NULL 约束。

  4.插入默认值

--示例:创建表时设置默认值CREATE TABLE ShohinIns(    id CHAR(4) NOT NULL,    num INT DEFAULT 0    --DEFAULT 默认约束)


--示例:INSERT 时显示插入默认值INSERT INTO dbo.ShohinIns        ( id, num )VALUES  ( '001', -- id - char(4)          DEFAULT  -- num - int          )

--示例:INSERT 隐式插入默认值INSERT INTO dbo.ShohinIns( id )VALUES  ('002')

  【备注】建议使用显示的方式插入值。如果插入的时候隐式省略了列名,并且该列没有指定默认值的时候,该列的值会被设定为 NULL(如果省略的列设置了 NOT NULL 约束的话,执行会报错)。
  【总结】省略 INSERT 语句的列名,就会自动设定该列的默认值(没有默认值时会设定为 NULL)。

  5.从其它表复制数据
--语法INSERT ... SELECT ...
--示例
INSERT
dbo.ShohinIns        ( id, num )SELECT shohin_id, shiire_tankaFROM dbo.Shohin
--示例INSERT INTO dbo.ShohinIns        ( id, num )SELECT id=1, num =2;
--示例INSERT INTO dbo.ShohinIns        ( id, num )SELECT 1, 2;
  【备注】INSERT 语句中的 SELECT 语句中,可以使用 WHERE 子句或者 GROUP BY 子句等任何 SQL 语法。(但使用 ORDER BY 子句并不会产生任何效果。)

二、删除数据  1.2 种 删除数据的方法:
    (1)DROP TABLE 语句:删除表
    (2)DELETE 语句:删除表的数据
--语法--DELETE FROM <表名>;
--示例
DELETE
FROM dbo.ShohinIns;
  【备注】DELETE 语句删除的对象是记录(行),不是表和列。

  2.指定删除对象的 DELETE 语句
--语法--DELETE FROM <表名>--WHERE <条件>;
--示例DELETE FROM dbo.ShohinWHERE hanbai_tanka >= 4000;
  【备注】可以通过 WHERE 子句指定对象条件来删除部分数据。
  【备注】DELETE 语句中不能使用 GROUP BY、HAVING 和 ORDER BY 三类子句。
  【备注】如果要删除表全部数据时请使用 TRUNCATE <表名>,它比 DELETE 子句更高效。

三、更新数据  1.UPDATE 子句的基本语法
--语法--UPDATE <表名>--    SET <列名> = <表达式>

  2.指定条件的 UPDATE 语句
--语法
--
UPDATE <表名>--    SET <列名> = <表达式>--WHERE <条件>;
--示例
UPDATE
dbo.Shohin    SET hanbai_tanka = hanbai_tanka * 10WHERE shohin_bunrui = '厨房用具';

  3、使用 NULL 进行更新
--示例UPDATE dbo.Shohin    SET torokubi = NULLWHERE shohin_id = '008';
  【备注】只有未设置 NOT NULL 约束和主键约束的列才可以清空为 NULL。

  4.多列更新
--示例UPDATE dbo.Shohin    SET hanbai_tanka = hanbai_tanka * 10,    --逗号分割        shiire_tanka = shiire_tanka / 2WHERE shohin_bunrui = '厨房用具'

四、事务  1.事务:需要在同一个处理单元中执行的一系列更新处理的集合。
  2.创建事务:

--语法--事务开始语句--    DML 语句①;--    DML 语句②;--    ...--事务结束语句(COMMIT 或 ROLLBACK);

    (1)COMMIT - 提交处理:提交事务包含的全部更新处理的结束指令。一旦提交,无法恢复到事务开始前的状态。
    (2)ROLLBACK - 取消处理:取消事务包含的全部更新处理的结束指令。一旦回滚,数据库就会回复到事务开始之前的状态。


--示例
BEGIN
TRANSACTION;    UPDATE dbo.Shohin        SET hanbai_tanka = hanbai_tanka - 1000    WHERE shohin_mei = '运动 T 恤';    UPDATE dbo.Shohin        SET hanbai_tanka = hanbai_tanka + 1000    WHERE shohin_mei = 'T 恤衫';    DELETE FROM dbo.Shohin WHERE shohin_id = '0015';ROLLBACK;  -- COMMIT


  3.ACID 特性
    (1)原子性(Atomicity):在事务结束时,其中包含的更新处理要么全部执行,要么完全不执行。
    (2)一致性(Consistency):事务中包含的处理,要满足数据库提前设置的约束,也称完整性。
    (3)隔离性(lsolation):保证不同事务之前互不干扰的特性。
    (4)持久性(Durability):事务一旦结束,DBMS 会保证该时点的数据状态得以保存的特性,也称耐久性。

备注  这里采用 MS SQL Server 进行验证,不保证所有的 DBMS 执行结果正确。



回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-16 21:12:33 | 显示全部楼层
sqlmap的安装及sql注入
这两天主要是下载了sqlmap与python2.7和初步学习sql注入。
想要学习sql注入,首先需要工具和环境。所以我下载了sqlmap和python2.7
然后在桌面新建立一个cmd的快捷方式,并命名为“SQLMap”;

然后在新建快捷方式上右键“属性”,将“起始位置”修改为 C:\Python27\sqlmap,然后确定;


双击刚才创建的快捷方式,输入sqlmap.py -h,出现如下信息则表示安装成功。




接下来就是了解一下什么是sql注入。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-17 23:34:30 | 显示全部楼层
本帖最后由 Mint97 于 2020-5-18 17:43 编辑

XSS初步学习
XSS也就是跨站脚本语言。XSS攻击指黑客通过“html注入”,篡改网页,加入恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。XSS长期以来被列为客户端WEB安全中的头号强敌。因为XSS的破坏力强大,且产生的场景复杂,难以一次性解决。所以达成共识的是:针对不同场景产生的xss,需要区分情景对待。
所以什么是XSS呢?
其实根据效果的不同,XSS分为了以下几类:
一 反射性XSS
反射性XSS只是简单地把用户输入的数据“反射”给浏览器。发出请求时,XSS代码就出现在URL中,作为输入提交到服务器,服务器解释后响应,在响应内容中出现这段XSS代码,最后由浏览器解释执行。也就是说,黑客往往需要诱使用户“点击”一个恶意链接,才能攻击成功。
二 存储型XSS
存储型XSS会把用户输入的数据“存储”在服务器端,这种XSS具有很强的稳定性。
存储型XSS和反射型XSS的区别就是:提交的XSS代码会存储在服务器上,下次请求目标页面的时候不需要再次提交XSS代码。存储的位置可以是数据库,内存,文件系统等。
三 DOM Based XSS
其实这种XSS按照“数据是否存储在服务器端”来划分的,DOM Based XSS 其实可以说是反射型XSS,为什么单独划分出来,就是因为DOM Based XSS 的形成原因比较特殊。
其实 它就是通过修改页面的DOM节点形成的XSS。
DOM型XSS和存储型,反射型XSS的区别就是:
DOM型XSS不需要服务器解释响应的直接参与,触发XSS只需要浏览器的DOM解析,完全是客户端的问题。

今日问题:
<?php
ech $_GET['x']
?>  
中的GET 到底是什么意思,该如何使用?
回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-18 17:43:49 | 显示全部楼层
本帖最后由 Mint97 于 2020-5-18 22:46 编辑

PHP学习(四)
一 Web工作原理

回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-18 23:05:16 | 显示全部楼层
DVWA的安装与配置

一 DVWA介绍

DVWA是一个基于php的网络安全练习的环境,也就是可以用来练习hacker技术的地方,无须自己找个网络下手或者搭建安全环境来练习网络攻防了。他的主要目的是帮助安全专业员去测试他们的技术和工具在合法的环境里面也帮助开发人员更好的理解如何加固他们开发的web系统。

二 DVWA安装


首先我们进入DVWA官网,选择右上角GitHub图标,在GitHub下载中选择
DVWA v1.9进行下载。
然后,我们就将安装包重命名,并放在htdocs目录下:


并且,把phpMyAdim也放在htdocs目录下。

其次,在config目录config.inc.php是修改数据库的配置文件,默认安装phpstudy情况下,将配置文件中$_DVWA[ 'db_password' ] = 'p@ssw0rd';修改为'root';

最后就是,访问127.0.0.1:8081/DVWA-master/setup.php,点击创建/重置数据库。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

8

主题

46

帖子

256

积分

中级会员

Rank: 3Rank: 3

积分
256
 楼主| 发表于 2020-5-22 21:34:45 | 显示全部楼层
网络基础知识
Internet 互联网
IP地址:

网际协议地址(即IP地址)。它是为标识Internet上主机位置而设置的。Internet上的每一台计算机都被赋予一个世界上唯一的32Internet地址(InternetProtocol Address,简称IPAddress),这一地址可用于与该计算机机有关的全部通信。为了方便起见,在应用上我们以8bit为一单位,组成四组十进制数字来表示每一台主机的位置。


一般的IP址由4组数字组成,每组数字介于0-255之间,比如我的计算机主机的IP地址是127.0.0.1

内网:

通俗的讲就是局域网,比如网吧,校园网,公司内部网等都属于此类。查看IP地址如果是在以下三个范围之内的话,就说明我们是处于内网之中的:

10.0.0.010.255.255.255

172.16.0.0172.31.255.255

192.168.0.0192.168.255.255

外网:

直接连入INTERNET(互连网),可以与互连网上的任意一台电脑互相访问,IP地址不是保留IP(内网)IP地址。

端口:

Port)相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务,而电脑将这些数据处理后,再将相应的恢复通过开启的端口传给对方。一般每一个端口的开放对应了相应的服务,要关闭这些端口只需要将对应的服务关闭就可以了。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 02:50 , Processed in 0.018717 second(s), 17 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表