转义

【linux就该这么学】-03

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-03 05:58:32
【linux】-记"linux就该这么学"学习笔记-03 简述 对流重定向,管道符,通配符,系统变量,转义字符。 流重定向的几种使用 命令 < 参数  将文件作为命令输入 命令 << EOF 分界符 命令 < 文件1 > 文件2 命令 > 文件  标准输出(清空) 命令 2> 文件 错误输出(追加) 命令 >> 文件 标准输出(清空) 命令 2>> 文件 错误输出(追加) 命令 >> 文件 2>&1 标准输出+错误输出(追加) 命令 &>> 文件 标准输出+错误输出(追加)     管道命令符,etc: ls /etc/ | more ls /etc/ | grep bin echo "root" | passwd --stdin root (echo "root" 双引号内为密码)     通配符,etc: ls -l /dev/sd* ls -l /dev/sd? ls -l /dev/sd*? ls -l /dev/sd[0-9] ls -l /dev/sd[A-Za-z]     转义字符 $ ,etc: echo $0,$1,$#,$? echo '$单引号内原本输出,不保留变量' echo "$变量,双引号保留变量" echo `命令,反引号内执行命令` echo $变量 输出变量值 echo \$转义 对$转义     linux系统环境变量 export

数据类型

和自甴很熟 提交于 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

java基本类型

白昼怎懂夜的黑 提交于 2020-01-31 19:03:17
java是一种强类型语言,这就意味着必须为每一个变量声明一种类型,在java中一共有8种基本类型。 其中4种整形(byte,short,int,long),2种浮点型(double,float),一种用于表示Unicode编码字符单元的字符类型char和一种用于表示真值的boolean类型。 1.整形  整形用于表示没有小数部分的数值,允许负值。 long 8字节 -2^63 ~ 2^63-1 int 4字节 -2147483648 ~ 2147483647(-2^31 ~ 2^31-1) short 2字节 -32768 ~ 32767(-2^15 ~ 2^15-1) byte 1字节 -128 ~ 127 (-2^7 ~ 2^7-1) --java 中整形数字默认为int类型,使用long是需要在数字后面增加L或者l;byte 和 short用于需要控制占用存储空间的场合。 整形有3中表现形式,分别为十进制(如12),八进制(以0开头),十六进制(以0x开头) 1 //十进制 2 int t = 83; 3 System.out.println(t);//83 4 //八进制 5 int a = 0123; 6 System.out.println(a);//83 7 //十六进制 8 int b = 0x25; 9 System.out.println(b);//37 2

Gson--Gson解析=等号出现乱码?

你说的曾经没有我的故事 提交于 2020-01-31 10:22:03
GSON使用笔记(1) -- 序列化时排除字段的几种方式 --3,关于Gson解析时候特殊符号,被转义的问题,如’单引号? //Creating the JSON object, and getting as String: JsonObject json = new JsonObject(); JsonObject inner = new JsonObject(); inner.addProperty("value", "xpath('hello')"); json.add("root", inner); System.out.println(json.toString()); //Trying to pretify JSON String: Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser parser = new JsonParser(); JsonElement je = parser.parse(json.toString()); System.out.println(gson.toJson(je)); 输出 {"root":{"value":"xpath('hello')"}} { "root": { "value": "xpath(\u0027hello\u0027)" } }

正则表达式入门到熟练使用

偶尔善良 提交于 2020-01-30 21:53:57
1、正则表达式介绍 用来处理复杂的字符串文本,例如查找、匹配、分割、替换等。大部分语言都有内置的支持,例如:Java、C++。 我会使用工具RegexBuddy进行演示 2、普通字符 在正则表达式中,字母、数字、下划线、以及没有特殊定义的标点符号都是普通字符。正则表达式中的普通字符在匹配的时候会匹配一个与之相等的一个字符。 上图中,上面的正则表达式 hello 就匹配到了对应下面字符串文本的 hello world 中的hello。这里正则表达式里面的hello都是普通字符。 3、简单转义字符 \n 换行符 \t 制表符 \\ 代表 \本身 \^ \$ \. \( \) \{ \} \? \+ \* \| \[ \] 代表这些字符本身 因为这些字符具有特殊的含义,所以需要进行转义。 3、标准字符集合 \d 表示0-9的任意一个数字 \w 表示字母、数字、下划线的任意一个 \s 表示一个空白字符,例如 空格 制表符 换行符 . 表示任意一个字符 注意:区分大小写! 大写表示取反,例如 \D 表示非数字 \S表示非空白字符 4、自定义字符集合 自定义字符集合使用中挎号[]包起来,例如 [12@] 表示匹配一个字符,这个字符是 1 或者 2 或者 @。 ^ 表示取反 例如 [^12@] 表示除了1 2 @ 之外的任何字符 - 表示范围 例如 [7-9] 表示 数字 7 8 9,那么[^7

xss攻击与防御

核能气质少年 提交于 2020-01-30 15:41:48
XSS Cross Site Scripting 跨站脚本 Scripting 能干啥? 获取页面数据----偷取网站任意数据资料 获取 cookies----偷取用户资料 劫持前端逻辑----偷取用户密码和登录状态 发送请求---欺骗用户 .... Xss 攻击分类 反射性 url 参数直接注入 存储性 存储到 DB 后读取时注入 XSS 攻击注入点 HTML 节点内容 <div> #{content} </div> <div> <div> <script></script> </div> </div> HTML 属性 <img src="#{image}" /> <img src="1" onerror="alert(1)" /> JavaScript 代码 <script> var data = "#{data}"; var data = "hello;alert(1);""; </script> 富文本 富文本保留 HTML HTML 有 XSS 攻击的风险 防御机制 浏览器自带有防御机制,但很弱 ctx.set('X-XSS-Protection',1)//默认开启浏览器防护 html 节点内容 对字符串进行转义处理 转义 < < 和 > > var escapeHtml = function(str) { if (!str) return ""; str = str

正则表达式语法

馋奶兔 提交于 2020-01-28 19:22:52
非打印字符 非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列: 字符 描述 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 \t 匹配一个制表符。等价于 \x09 和 \cI。 \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 特殊字符 所谓特殊字符,就是一些有特殊含义的字符,如上面说的 runoo*b 中的 * ,简单的说就是表示任何字符串的意思。如果要查找字符串中的 * 符号,则需要对 * 进行转义,即在其前加一个 \ : runo\*ob 匹配 runo*ob。 许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符 \ 放在它们前面。下表列出了正则表达式中的特殊字符: 特别字符 描述 $

twig输出转义

眉间皱痕 提交于 2020-01-28 16:30:16
twig输出转义 --需求: 传一个变量到 twig 中,需要插入几个空格,类似于下面这样: sprintf("%s%s -- %s", str_repeat(' ', $path_level-5), str_repeat("|", $path_level-5), $baseName); 但是渲染到 twig 之后,空格就变成了&nbsp; 我把str_repeat(' ' 替换成str_repeat(' ' ,twig 那边渲染的是空格,而不是  --原因: 原来是 twig 开启了自动转义 自动输出转义:为安全考虑,你可以全局启用自动输出转义,或者只对某个块启用: {% autoescape true %} {{ var }} {{ var|raw }} {# var won't be escaped #} {{ var|escape }} {# var won't be doubled-escaped #} {% endautoescape %} --解决: 可以使用 {% autoescape false %} 此处的内容以原本的样子输出,不转义 {% endautoescape %} 标签对某一个段进行不转义,这样我们再把变量含有 传进去时,就不会 再被转成&nbsp;了,这样满足需求了。 来源: https://www.cnblogs.com/ZhYQ-Note/p

常见六大Web安全攻防解析

大兔子大兔子 提交于 2020-01-28 12:49:55
转自:https://www.cnblogs.com/fundebug/p/details-about-6-web-security.html 一、XSS XSS (Cross-Site Scripting),跨站脚本攻击,因为缩写和CSS重叠,所以只能叫XSS。跨站脚本攻击是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击 跨站脚本攻击有可能造成以下影响: 利用虚假输入表单骗取用户个人信息 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求 显示伪造的文章或图片 XSS的原理是恶意攻击者往Web页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的 XSS的攻击方式千变万化,但还是可以大致细分为几种类型 1.非持久型XSS(反射型XSS) 非持久型XSS漏洞,一般是通过给别人发送 带有恶意脚本代码参数的URL ,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行 举一个例子,比如页面中包含有以下代码: <select> <script> document.write('' + '<option value=1>' + location.href.substring(location

Python快速入门 字符串

只愿长相守 提交于 2020-01-27 04:32:11
字符串的表示 使用单引号 ‘I LOVE CHINA’ 使用双引号 “I LOVE CHINA” 使用三引号 三对单引号 或者 三对双引号 ‘’’ I LOVE CHINA , HELLO ‘’’ “”" I LOVE CHINA , HELLO “”" 三引号能包含多行字符串,在这个字符串里可以包含换行符、制表符或者其他字符。一般情况下,三引号表示的字符串出现在函数声明的下一行做函数的注释 注:Python的字符串不能像C语言那样可以改变,不能将某一个字符修改为其他的字符。否则会报错 转义字符 当字符串里包含单引号 或者 双引号时 虽然有以上三种方式表达完全可以,不过仍然可以将字符串里的单、双引号通过转义字符来表达,同样可以使解释器识别 字符串 并正确的输出 不用转义字符: 使用转移字符 常见的转义字符如下表所示: 这里借用一下某鸟教程的表,感谢!!! 当然,如果不想使用 \ 转义字符 则可以在字符串之前加一个 r 表示原始字符串 字符串值的访问 Python中没有字符类型,单个的字符也是作为字符串来使用,如果希望访问字符串中的某一个字符,则需要使用索引(下标)来实现 类似于数组 这里说一下cmd的清屏命令: import os os . system ( 'cls' ) 通过下标获取值: 使用切片截取字符串 切片 是指截取操作对象的一部分,字符串、列表、元组都支持切片操作 语法