SQL注⼊准备(MySQL查询语句、URL编码)
⽂章⽬录
MySQL常⽤查询语句
select user();当前MySQL 登录⽤户名
select database();当前MySQL 数据库名
select version();当前MySQL 版本
select @@version;当前MySQL 版本
select @@basedir;当前MySQL 安装路径(MySQL安装⽬录)
select(length("abc"));字符串长度
select concat("ab","cd");连接字符串
select substring(str,pos,len);  pos可以是负值,表⽰倒数取
select substring("hello",3);返回llo,截取从第三个字符开始之后的所有字符
select substring("hello",2,2);返回el,只截取从第2个字符开始之后的2个字符
select mid("hello",2,2);返回el,只截取从第2个字符开始之后的2个字符
select ord("a");返回ASCII码值,⽤单引号也可
url编码处理select sleep(4);睡眠4秒,睡眠指定描述
select*from biao limit m,n;从表的m⾏(位置,⾏从0开始算)开始,取到m+n⾏(取n条记录)
SELECT*FROM biao LIMIT5,10;检索记录⾏6-15
注释
在url中,如果是get请求(也就是在浏览器中输⼊的url) 解释执⾏的时候,url中#号是⽤来指导浏览器动作的,对服务器端⽆⽤。
所以,HTTP请求中不包括#,使⽤#闭合⽆法注释,会报错;⽽使⽤--(有个空格),在传输过程中空格会被忽略,同样导致⽆法注释。所以在get请求传参注⼊时才会使⽤--+(或者--%20)的⽅式来闭合,
因为+会被解释成空格。
--%20把空格转换为urlencode编码格式。同理把#变成%23,也不报错。
urlencode是⼀个函数,可将字符串以URL编码,⽤于编码处理。
如果是post请求,则可以直接使⽤#来进⾏闭合。常见的就是表单注⼊,如我们在后台登录框中进⾏注⼊。
URL编码
URL(Uniform Resource Locator,统⼀资源定位器),是WWW的统⼀资源定位标志,指⽹络地址。
URL由4部分组成:协议、主机、端⼝、路径。
URL编码(URL encoding),也称作百分号编码(Percent-encoding), 是特定上下⽂的统⼀资源定位符 (URL)的编码机制。
编码原理:
将需要转码的字符转为16进制,然后从右到左,取4位(不⾜4位直接处理),每2位做⼀位,前⾯加上%,
编码成%XY格式。
例如:
空格ASCII码是32,对应16进制是20,那么urlencode编码结果是:%20,但在新标准中空格对应的是+。
部分转换规则如下:
空格!  "  #  $  %  &  '  (  )  0  1
%20  %21  %22  %23  %24  %25  %26  %27  %28  %29  %30  %31
+  @  :  ;  <  =  >  ?  z  {  }  ~
%2B  %40  %3A  %3B  %3C  %3D  %3E  %3F  %7A  %7B  %7D  %7E

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。