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小时内删除。
发表评论