JAVA随笔4

正则:

Pattern p = Pattern.compile("\w+@\w+(\.\w)+");

Matcher m = p.macther(String str)封装pattern,并匹配正则

贪婪匹配.*

非贪婪匹配 .*?会尽可能少的重复 例如aabab  a.*?b得到的是aab或ab

.+?重复一次或多次,会尽可能少的重复

.??重复0次或多次,会尽可能少的重复

爬虫,黑名单,白名单

黑名单是让form中出现的一些字符串和需要过滤的字符串匹配一下,如果有就不行。

白名单是允许表单中出现哪些合法的html元素。

爬虫包括广度爬虫和深度爬虫,话说谁爬虫研究的比较深,能否把笔记给我看看,万分感激

get和post的在表单中的区别

get提交的信息都显示在地址栏中,post提交对于敏感信息安全,get不能提交过多数据,get将信息封装到请求消息的请求行,也就是作为URL中一部分,post则是封装到请求体中

sql注入,即对服务端数据库中的表进行操作,例如:http://www.baidu.com/id=6;有id值表示需要对表进行查询,所以构成sql漏洞。

select * from Table

select * into T1 from T2

insert into T(c1,c2) select c1,c2 from T2

update T set c = Value 修改数据

select count(*) from T

top 从列最上面的数据向下 top 1等

在sql注入时,可以改变大小写,中间插入%20等以编码的数据,利用不同的数据库函数来达到同样的目标,subStr(user,1,1)等,也可用二次注入,即先注入数据,利用注入的数据;还有||

mysql支持三种注释方式:/**/;#至行末尾;--序列开始至末尾?

XSS攻击,是对HTML嵌入代码,注入形式可先编码绕过过滤机制,也可混合编码

编码解码过程:

浏览器编码-->>服务器解码,返回内容(即网页,编码)-->>浏览器解码

URLencode是将url地址栏中的信息(已经过gbk等编码方式编码过的)进行ios-8859-1编码。这位大牛的文章http://www.cnblogs.com/yencain/articles/1321386.html

话说,如果在地址栏中输入经过GBK,UTF-8等混合编码的参数,会怎么样??还要再找找资料

浏览器:-->>HTML引擎解析成DOM树,JS引擎解析JS文本,遇到document.createElement("id");之类的回溯HTML引擎,更新DOM树,渲染引擎解析CSS文本和HTML的DOM树节点,在一边解析,在页面上布局一边呈现内容

原文地址:https://www.cnblogs.com/GlazedCat/p/6543563.html