网页 sql 注入问题
1. 网址中 index.php, index.html, index.asp, home.html 文件
index 一般代指首页,或者叫网页(程序)入口因为服务器一般会最先读取文件夹下名为 index 的文件,当然这个是可以自己定义的,在服务器上定义,名称不一定非要是 index。
对于有多种类型比如 php,asp 是一种动态数据库源代码的格式,常用的有 asp 和 php 两种。在网站服务器的设置中有项设定就是默认页的访问顺序,假如是
index.asp
,index.php
,index.html
这个顺序的话当你直接访问域名index.asp
就是隐藏的并不会出现,而直接输入域名+index.asp
也同样可以访问网页。
显示
/index.php
是表示这个网站编程语言,就是做网站用的是 php 语言的,现在用这格式的也很多,早期使用 asp,html 等。
2. 浏览器地址栏出现 index.php?id=?
http://59.63.200.79:8003/?id=1
或
https://www.jianshu.com/?id=1
或
index.html?id=123&a=true
比如在某个 html 页面有个超链接当你点击的时候,你就会看到浏览器地址栏里有
http://***.***.***/index.php?id=2
,类似这种格式的链接。可以看到这里有一个?
问号,问号表示后面带的是参数,在这里参数就是id
。那么对于这个参数在index.php
里用$id = $_GET['id']
然后使用输出echo $id
输出出来的结果就为 2。所以这个地址栏中的参数就是提供给index.php
使用的。
但是这个参数的作用是什么呢? 当然是你的程序需要啦,根据你的程序来比如你有个文章列表,你只能看见每个文章的标题,如果你想看文章内容怎么办?肯定是要把文章的id带过去,通过id然后去数据库查该文章的内容就像你在贴吧里看到贴吧的标题,你点击该标题的时候,浏览器不是有个跳转么,这个时候就是把该贴的id传过去了,然后你就能看到该贴的内容还有后面的跟帖了啊,当然这些大型网站都是通过url重写(url重写就是防止黑客看见url传递的参数,然后对网站进行攻击,所以做了一个伪静态,表面上是看不出来传递的参数的),你是看不到id=2这样的情况,但是实际就是这样传的。
GET
传参数,用GET
传参把前一个网页的参数传递到下一个网页,id
是程序员写网站的时候自己定义的参数名称,=
后面跟的是这个参数的值GET
传参会将传递的参数会显示在网页地址栏,传递参数格式是网址 + ? + 参数1的名字 = 参数1的值 + & + 参数2的名字 = 参数2的值 + .....
比如index.php?id=1&username=xxx
向index.php
传递了两个参数,一个叫id
的参数值为1,一个叫username
的参数值为xxx
。
将浏览器重定向到
index.php
,并传递参数,参数键名是id
,参数值是 2 参数的作用是提供给index.php
这个页面,让这个页面根据参数做出一些相应的处理 。