安全矩阵

 找回密码
 立即注册
搜索
查看: 5369|回复: 16

何祥宝学习日记

[复制链接]

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
发表于 2020-2-19 22:23:00 | 显示全部楼层 |阅读模式
程序中的数据一般会包括
数值数据
文本数据
符合类数据
当数据具有以下相同的特性时就构成一类数据类型:
采用相同的书写形式
在具体实现中采用同样的编码形式(内部的二进制编码)
在内存存储中具有相同的二进制编码位数
能做同样的运算操作
python的内置函数类型
1.简单数据类型
整型int
浮点型float
复数complex
布尔类型bool
2.序列对象
字符串str
元组tuple
列表list
3.其他类型
集合类型set
字典类型dict
关键字
False               def                 if                  raise
None                del                 import              return             True                elif                in                  try                  and                 else                is                  while               as                  except              lambda            with         assert              finally             nonlocal            yield           break               for                 not                  class               from                or                  continue            global              pass
程序练习
import math
a=int(input('三角形一边:'))
b=int(input('三角形另一边'))
c=int(input('三角形的最后一边:'))
s=(a+b+c)/2
area=math.sqrt(s*(s-a)*(s-b)*(s-c))
print('三角形的面积为:',s)


本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-4 01:43:50 | 显示全部楼层
PHP echo print 语句
echo print 区别:
echo - 可以输出一个或多个字符串
print - 只允许输出一个字符串,返回值总为 1
提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1


Array:创建数组
{array[0]}


PHP EOF(heredoc)是一种在命令行shell(如shcshkshbashPowerShellzsh)和程序语言(像PerlPHPPythonRuby)里定义一个字符串的方法。
使用概述:
1. 必须后接分号,否则编译通不过。
2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)
4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与qqq的用法。


var_dump() 函数用于输出变量的相关信息。
var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。



本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-4 22:34:08 | 显示全部楼层

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:

var_dump():
显示数据类型。

松散比较:使用两个等号 == 比较,只比较值,不比较类型。
严格比较:用三个等号 === 比较,除了比较值,也比较类型。

一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。设置常量,使用 define() 函数常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。
name必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是 大小写敏感的。
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

strlen() 函数strlen() 函数返回字符串的长度(字节数)。
strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。

strpos() 函数
strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE
echo strpos("Hello world!","world");’Hello world’中找’world’



本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-5 22:41:48 | 显示全部楼层

PHP的除法和C语言不一样,PHP:8/5=1.6 C语言:8/5=1;


三元运算符
条件运算符  "?:"(或三元)运算符 。
语法格式
(expr1) ? (expr2) : (expr3)

expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3
PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3
PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3

PHP 中换行可以用 PHP_EOL 来替代

本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-6 21:58:56 | 显示全部楼层
· if 语句 - 在条件成立时执行代码
· if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
· if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
· switch 语句 - 在若干条件之一成立时执行一个代码块

获取数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素的数量):


遍历数值数组
遍历并打印数值数组中的所有值,可以使用 for 循环,如下所示:




· sort() - 对数组进行升序排列
· rsort() - 对数组进行降序排列
· asort() - 根据关联数组的值,对数组进行升序排列
· ksort() - 根据关联数组的键,对数组进行升序排列
· arsort() - 根据关联数组的值,对数组进行降序排列
· krsort() - 根据关联数组的键,对数组进行降序排列


PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 不需要特别说明,就可以在函数及类中使用。
PHP 超级全局变量列表:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION

元素/代码
描述
$_SERVER['PHP_SELF']
当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://example.com/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将得到 /test.php/foo.bar。__FILE__ 常量包含当前(例如包含)文件的完整路径和文件名。 从 PHP 4.3.0 版本开始,如果 PHP 以命令行模式运行,这个变量将包含脚本名。之前的版本该变量不可用。
$_SERVER['GATEWAY_INTERFACE']
服务器使用的 CGI 规范的版本;例如,"CGI/1.1"。
$_SERVER['SERVER_ADDR']
当前运行脚本所在的服务器的 IP 地址。
$_SERVER['SERVER_NAME']
当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。(如: www.runoob.com)
$_SERVER['SERVER_SOFTWARE']
服务器标识字符串,在响应请求时的头信息中给出。 (如:Apache/2.2.24)
$_SERVER['SERVER_PROTOCOL']
请求页面时通信协议的名称和版本。例如,"HTTP/1.0"。
$_SERVER['REQUEST_METHOD']
访问页面使用的请求方法;例如,"GET", "HEAD","POST","PUT"。
$_SERVER['REQUEST_TIME']
请求开始时的时间戳。从 PHP 5.1.0 起可用。 (如:1377687496)
$_SERVER['QUERY_STRING']
query string(查询字符串),如果有的话,通过它进行页面访问。
$_SERVER['HTTP_ACCEPT']
当前请求头中 Accept: 项的内容,如果存在的话。
$_SERVER['HTTP_ACCEPT_CHARSET']
当前请求头中 Accept-Charset: 项的内容,如果存在的话。例如:"iso-8859-1,*,utf-8"。
$_SERVER['HTTP_HOST']
当前请求头中 Host: 项的内容,如果存在的话。
$_SERVER['HTTP_REFERER']
引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER 的功能。简言之,该值并不可信。)
$_SERVER['HTTPS']
如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。
$_SERVER['REMOTE_ADDR']
浏览当前页面的用户的 IP 地址。
$_SERVER['REMOTE_HOST']
浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。
$_SERVER['REMOTE_PORT']
用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER['SCRIPT_FILENAME']
当前执行脚本的绝对路径。
$_SERVER['SERVER_ADMIN']
该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。(如:someone@runoob.com)
$_SERVER['SERVER_PORT']
Web 服务器使用的端口。默认值为 "80"。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
$_SERVER['SERVER_SIGNATURE']
包含了服务器版本和虚拟主机名的字符串。
$_SERVER['PATH_TRANSLATED']
当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。
$_SERVER['SCRIPT_NAME']
包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
$_SERVER['SCRIPT_URI']
URI 用来指定要访问的页面。例如 "/index.html"。

本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-8 00:46:42 | 显示全部楼层
链接数据库:
  1. <div><?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接</div><div> $conn = new mysqli($servername, $username, $password); // 检测连接 </div><div>if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?></div>
复制代码

链接数据库成功后,开始使用PHP创建MySQL数据库
[size=1.8em]

  1. <?php
  2. $servername = "localhost";
  3. $username = "username";
  4. $password = "password";

  5. // 创建连接
  6. $conn = new mysqli($servername, $username, $password);
  7. // 检测连接
  8. if ($conn->connect_error) {
  9.     die("连接失败: " . $conn->connect_error);
  10. }

  11. // 创建数据库
  12. $sql = "CREATE DATABASE myDB";
  13. if ($conn->query($sql) === TRUE) {
  14.     echo "数据库创建成功";
  15. } else {
  16.     echo "Error creating database: " . $conn->error;
  17. }

  18. $conn->close();
  19. ?>
复制代码
但这个时候出现了问题:

出现了Error creating database:Access denied for user ''@'localhost' to database 'mydb' > 的错误。
百度到了解决方案:
mysql> delete from user where user='';
mysql > flush privileges;
mysql> \q

但又出现了更多的错误:

。。。。百度好久,决定明天解决。


本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-8 23:16:43 | 显示全部楼层
创建链接:
1.
$servername=’localhost’;
$username=’username’;
$password=’password’;
$conn = mysqli_connwect($servername,$username,$password);
2.
$sonn=mysqli_connect(‘localhost’ ,’username’ ,’password’);

检测链接:
面向对象:
if ($conn->connect_error)
{
        die('链接失败:'.$conn->connect_error);
}
echo'链接成功';
面向过程:


创建数据库:
面向对象:
$sql='CREATE DATABASE myDB';
if ($conn->query($sql)===TRUE)
{
        echo "数据库创建成功";
}
else
{
        echo'Error creating database:'.$conn->error;
}
$conn->close();
面向过程:
$sql='CREATE DATABASE myDB';
if (mysqli_query($conn,$sql)) {
        echo "数据库创建成功";
}else{
        echo'Error creating database:'.mysqli_error($conn);
}
$conn->close();

回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-17 23:06:38 | 显示全部楼层
1.Intercept
用于显示和修改HTTP请求和响应,通过你的浏览器和Web服务器之间。在BurpProxy的选项中,您可以配置拦截规则来确定请求是什么和响应被拦截(例如,范围内的项目,与特定文件扩展名,项目要求与参数,等)。该面板还包含以下控制:

1.Forward:当你编辑信息之后,发送信息到服务器或浏览器
2.Drop:当你不想要发送这次信息可以点击drop放弃这个拦截信息
3.Interceptionis on/off:这个按钮用来切换和关闭所有拦截。如果按钮显示Interceptionis on,表示请求和响应将被拦截或自动转发根据配置的拦截规则配置代理选项。如果按钮显示Interception is off则显示拦截之后的所有信息将自动转发。
4.Action:说明一个菜单可用的动作行为操作可以有哪些操作功能。

消息类型显示的格式:Raw  Params  Headers  Hex
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-5-23 23:03:25 | 显示全部楼层
Repeater:重放模块
Intruder:攻击模块 (和重放模块 功能像,功能更强,更自动化)
Scanner:扫描功能(web安全的自动扫描工具)
Options:设置

Proxy模块:1.代理。2.处理HTTP请求。3.处理HTTP响应。
Proxy listeners:监听,设置代理。
Intercept client requests:是否拦截客户端请求
Intercept server responses:是否拦截服务端的返回
Response modification:修改返回值
Match and replace:过滤器,如果发现请求和返回有你要求的过滤的,换成别的东西

304 Not Modified:  在客户端向服务端发送http请求时,若返回状态码为304 Not Modified 则表明此次请求为条件请求。在请求头中有两个请求参数:If-Modified-Since 和 If-None-Match。        当客户端缓存了目标资源但不确定该缓存资源是否是最新版本的时候, 就会发送一个条件请求。在进行条件请求时,客户端会提供给服务器一个If-Modified-Since请求头,其值为服务器上次返回响应头中Last-Modified值,还会提供一个If-None-Match请求头,值为服务器上次返回的ETag响应头的值。        服务器会读取到这两个请求头中的值,判断出客户端缓存的资源是否是最新的,如果是的话,服务器就会返回HTTP/304 Not Modified响应头, 但没有响应体.客户端收到304响应后,就会从本地缓存中读取对应的资源。 所以:当访问资源出现304访问的情况下其实就是先在本地缓存了访问的资源。        另一种情况是,如果服务器认为客户端缓存的资源已经过期了,那么服务器就会返回HTTP/200 OK响应,响应体就是该资源当前最新的内容.客户端收到200响应后,就会用新的响应体覆盖掉旧的缓存资源.只有在客户端缓存了对应资源且该资源的响应头中包含了Last-Modified或ETag的情况下,才可能发送条件请求.如果这两个头都不存在,则必须无条件(unconditionally)请求该资源,服务器也就必须返回完整的资源数据.另外,有时候我们浏览器调试的时候不希望本地缓存,可以设置取消缓存即可。
————————————————
版权声明:本文为CSDN博主「franknotbad」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/franknotbad/article/details/79399809
200 OK为正常


筛选:

流程



本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

48

帖子

223

积分

中级会员

Rank: 3Rank: 3

积分
223
 楼主| 发表于 2020-7-13 00:14:25 | 显示全部楼层
今天主要复习了HTML语法和SQL语法
回复

使用道具 举报

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

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-3-28 18:31 , Processed in 0.023298 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

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