引号

数据类型

和自甴很熟 提交于 2020-02-03 00:35:48
php数据类型 php是一种弱类型语言,一般指变量或者常量保存的数据类型。 php中,一共支持8中数据类型: 1.整型 2.布尔型 3.字符型 4.浮点型 5.数组型 6.NULL型,7.资源型 8.对象型。 上面的8种类型又可以分3大类: 1.标量类型:整型,浮点型,字符型,布尔型。(本质上只能存储单项信息)。 2.复杂类型:数组型,对象型。(本质是可以存储多项信息)。 3.特殊类型:空型(NULL),资源型。 字符编码 一个字节=8bit 。 进制简写: 十进制:dec 二进制:bin 八进制:oct 十六进制:hex 6个转换函数: 十转二:decbin 十转八 :decoct 十转十六:dechex 二转十:bindec 八转十:octdec 十六转十:hexdec 浮点型数据 浮点数的表现形式为两种: 小数形式: 3.11 指数形式:1.2e5 浮点数的有效数值为14位。 布尔数据类型(bool型或者boolean型) 只有两个值:true或false 在判断语句中,当出现以下情况的数值,返回值为false: 1.整型0:0;2.浮点型0:0.0;3.字符型0:‘0’;4.字符空:‘’;5.NULL型;6.空数组:array()。(资源型和对象型在进行条件判断是永远为真) 字符串数据(string型) $a = '' ""; 单引号字符串特点: 1.单引号不能解析变量 2

寒假学习报告01

核能气质少年 提交于 2020-02-01 23:20:55
因为一直用着那个虚拟机存在一些无法解决的问题,所以我重新安装了新的虚拟的,但是,新安装的这个总是闪屏,目前还没有解决。 弄几乎一整天的虚拟机也没正好,后来就学了一些python的基础内容。 如下是我做的笔记: 基本语法 1.python中严格区分大小写 2.python中每一行就是一条语句,每条语句一换行结束 3.python中每一行语句不要过长 4.一条语句可以分多行编写,语句后边以\结尾 5.python是缩进严格的语句,python后边不要随便写缩进 6.python中使用#来注释,#后的内容都属于注释,注释的内容将要会被解释器忽略 字面量和变量 字面量就是一个值,字面量所表示的意思就是他的字面的值 变量本身没有意思,变量可以用来保存字面量,并且变量中保存的字面量是不定的 一般开发时很少直接使用字面量,都是将字面量保存到变量中,通过变量来引用字面量 变量和标识符 python中方使用变量,不需要声明,直接为变量赋值即可 不能使用没有赋值的变量 标识符 python中多有可以自主命名的内容都属于标识符 比如:变量名、函数名、类名 标识符必须遵循标识符的规范 1.标识符中可以含有字母、数字、_,但是不能数字开头 2.标识符不能是python中的关键字和保留名 3.命名规范:下划线命名法、帕斯卡命名法(大驼峰命名法) 数据类型 数据类型指的就是变量的值得类型

第六章 字符型数据

耗尽温柔 提交于 2020-02-01 00:18:54
第六章 字符型数据 1·字符型常量 C语言中,一个字符常量代表ASCII字符集中的一个字符,在程序中用单引号把一个字符括起来作为字符常量。 说明: (1)单引号中的大写字母和小写字母代表不同的字符常量 (2)单引号中的空格符’ ’ 也是一个字符常量,但不能写成两个连续的单引号 (3)字符常量只能包含一个字符,‘agc’是非法的 (4)字符常量只能由单引号括起来,不能用双引号括起来 字符常量在内存中占一个字节,存放的是字符的ASCII代码值。C语言规定,所有字符常量都作为整形量来处理,在计算机内部,其对应的整型数就是ASCII字符集中该字符的序号(即ASCII代码值)。 字符常量‘A’的值是65(八进制数101)‘a’97(141)‘0’48(60)‘ ’32(40) 转义字符常量 转义字符又称反斜线字符,这些字符常量总是以一个反斜线开头后跟一个特定的字符,用来代表某一个特定的ASCII字符,这些字符常量也必须括在一对单引号内。 字符形式 功能 字符形式 功能 \n 回车换行 \ 反斜杠字符‘\’ \t 横向跳若干格(代表“Tab”键) \’ 单引号(撇号)字符 \v 竖向跳格 \’’ 双引号字符 \r 回车符 \ddd 三位八进制数代表一个ASCII字符 \f 换页符 \xhh 二位十六进制数代表的一个ASCII字符 \b 退格符(代表“Backspace”键) \0 空值

SQL注入--sqli-labs(1-4关)

跟風遠走 提交于 2020-01-31 15:48:44
mysql的基本用法:    查库:select schema_name from information_schema.schemata 等同于 show databases   查表:select table_name from information_schema.tables where table_schema='' 等同于 show tables   查列:select column_name from information_schema.columns where table_name=''   查字段:select id,username,password from security.users 查询出security中的users表中的id、username和password   information_schema,系统数据库,包含所有数据库相关信息。   information_schema.schemata中schema_name,字段为所有数据库名称。   information_schema.tables中tables_name列对应数据库所有表名,其中table_schema列是所有数据库名。   information_schema.columns中,columns_name对应所有列名,其中table_schema也对应所有数据库名,table

python经典面试题

主宰稳场 提交于 2020-01-30 17:56:59
1.Python是如何进行内存管理的 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。 引用计数增加的情况: 1.一个对象分配一个新名称 2.将其放入一个容器中(如列表、元组或字典) 引用计数减少的情况: 1.使用del语句对对象别名显示的销毁 2.引用超出作用域或被重新赋值 sys.getrefcount( )函数可以获得对象的当前引用计数 多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。 二、垃圾回收 1.当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。 2.当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。 三、内存池机制 Python提供了对内存的垃圾收集机制,但是它将不用的内存放到内存池而不是返回给操作系统。 1.Pymalloc机制。为了加速Python的执行效率,Python引入了一个内存池机制,用于管理对小块内存的申请和释放。 2

pikachu靶场 :四、SQL注入

大城市里の小女人 提交于 2020-01-30 15:55:36
pikachu靶场 :四、SQL注入 概述 数字型注入(post) 字符型注入(get) insert/update 注入 insert update delete 注入 sql 盲注 基于布尔 基于时间 宽字节注入 概述 在owasp发布的top10排行榜里, 注入漏洞一直是危害排名第一的漏洞 ,其中注入漏洞里面首当其冲的就是数据库注入漏洞。 一个严重的SQL注入漏洞,可能会直接导致一家公司破产! SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时, 没有做严格的判断 ,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。 在构建代码时,一般会从如下几个方面的策略来 防止SQL注入漏洞 : 对传进SQL语句里面的变量进行过滤,不允许危险字符传入; 使用参数化(Parameterized Query 或 Parameterized Statement); 还有就是,目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了"拼接"的方式,所以使用时需要慎重! 数字型注入(post) 在提交页面随便选一个选项,进行查询,使用burp抓包。 因为是数字型,直接在后面加上真命题,不需要加单引号测试。 修改id参数为1 or 1=1 ,发送,得到返回的数据库数据。 字符型注入(get

sqli~less5-8

感情迁移 提交于 2020-01-29 18:01:26
SQL注入--布尔盲注 布尔盲注:页面只返回True和False两种类型页面。利用页面返回不同,逐个猜解数据 sql注入操作步骤 1.判断是否存在注入(判断是否未严格校验)--第一要素 1)可控参数的改变能否影响页面的显示结果 2)输入的sql语句是否能够报错,通过数据库的报错我们可以看到数据库的一些语句痕迹 3)输入的sql语句能否不报错,语句能成功闭合 2.判断什么类型的注入 3.语句能否被恶意修改 -- 第二个要素 4.是否能够成功被执行 --第三个要素 5.获取我们想要的数据 less-5操作过程 1.输入id=1看页面是否发生变化,可以观察到,我们输入的可控字符确实与数据库发生了交互,但是他没有告诉我们我们的登陆结果,而只是you are in...... 2.输入错误的sql语句,例如添加一个单引号,测试 3.确定一下列数 4.初步推测出sql语句为 select 1,2,3 from 表 where id = ‘?’ limit 0,1.; 5. 可以直接使用or 使id = -1 为假 ,后边条件为真,利用抓包工具抓包改包,暴力破解出我们想要的东西   1)获得当前数据库中的第一个表名称,先抓包   2)将抓到的包,发送到lntruder模块进行暴力破解,选择攻击模式4,利用当前拼接的sql和ascii表,来确定数字对应的ascii字符,从而判断出表名   3

shell编程基础

不羁岁月 提交于 2020-01-29 04:30:00
1.1 命名规则 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 1.2 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号($)即可 加花括号是为了帮助解释器识别变量的边界,推荐给所有变量加上花括号,这是个好的编程习惯 已定义的变量,可以被重新定义 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变 使用 unset 命令可以删除变量, 不能删除只读变量 1.3 变量类型 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。 shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 1.4 Shell字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似 字符串的拼接 获取字符串长度 echo

Scala 三个引号

落花浮王杯 提交于 2020-01-28 07:29:28
Scala中三个引号应用 双引号 1.换行需要加/n ,比如: val s = "select * from user \n where user_id >100" println(s) 控制台输出结果: select * from user where user_id >100 三引号 1:中间字符串可以直接回车换行 val s ="""select * from user where user_id >100 and age <18 """ println(s) 控制台输出结果: select * from user where user_id >100 and age <18 2:保留代码块原意,中间可以有双引号 val s ="""select * from user where user_id >100 and name="dudu" """ println(s) 控制台输出结果: select * from user where user_id >100 and name=“dudu” 3:格式化 在idea中输入三个双引号,回车,行头会出现|,回车一次,会出现一个|,结尾是.stripMargin val s = """select * |from user |where user_name="dudu" |and age = 18 """.stripMargin

基本数据类型

余生长醉 提交于 2020-01-28 00:19:59
变量 :占位符,程序中数据临时的存放场所,可以存储单词\数值\日期\属性 变量的命名规则 1.由字母、数字、下划线组成 2.不能是纯数字,也不能是纯数字开头 3.不能是python的关键字 4.不能太长,不能超过255个字符 5.要有意义,要见名知意,都能看懂---推荐使用驼峰式(单词首字母大写,如NiHenHao)、下划线式(xiaoming_girlfriend) 6.不能是中文 7.区分大小写 常量 没有绝对的常量,约定俗成,所有字母大写即为常量 注释:即备注,程序运行时不执行 #:单行注释 ''' 多行注释 ''':三个单引号中的内容为多行注释 或者 三个双引号 赋值 =--将等号右面的值赋值给等号左面的变量,如a=6,将6赋值给a 数据类型 1.int-整形(整数)可以执行+ - * / #int(整形,整数) a=3 print(type(a))#输出变量a的数据类型,运行结果<class 'float'> #整数可以执行加、减、乘、除的运算 a=10/3 print(a) #运行结果3.3333333333333335,小数是不能完美的表示出来的 print(type(a))#输出变量a的数据类型,运行结果:<class 'floaf'> # //(整除-底板除) # % (取模-计算余数) print(10//3)#运行结果:3 print(10%3)#运行结果:1