详解SQL注入原理
看到有好多人在问:什么是SQL注入?我尝试google后发现,网上只有怎么SQL注入,并没有解释什么是SQL注入。在此我给大家解释一下。 在说明什么是SQL注入前先提下什么是静态页面,什么是动态页面。静态页面是一种实际存在的网页,无需经过服务器的处理,就可以直接加载读取的页面。静态页面一旦制作出来,除非修改源码,否则是无法对页面内的内容进行更改的。而动态页面与静态页面正好相反。动态页面并不是一个实际存在的网页,它的所有数据不是存储于页面上,而是存储于数据库中。只有当用户请求网页的时候,服务器才会从数据库读取数据,从而返回一个网页。所以不同的用户得到的网页内容也可能不同。举个例子,蓝莓's Blog首页就是一个典型的动态页面,不同的浏览器登陆时页面右上角提示内容也会不同,如果你是通过搜索引擎找到我的Blog的,右上角也会显示你所来自于的那个搜索引擎,如果你是直接访问本站,他会提示“您直接访问了本站! 莫非您记住了我的域名.厉害~我倍感荣幸啊 嘿嘿”,在举一个例子,比如你登陆QQ安全中兴,登陆后网页最上边会显示你的帐号,和你的称昵,这个也是一个动态页面。这点是静态页面无法办到的。而这里我们所要讲到的SQL注入就是利用动态页面的这种特性来入侵的。 其实当你打开一个动态页面的时候,就是在向服务器提交信息,服务器会根据你提交的信息,对数据库进行查询,从而返回适合你的信息。我们可以举个例子