cookie,post,get的区别
对于cookie我就不多说了
javascript:alert(document.cookie="参数名="+escape("具体信息"));
相信大家玩注入的时候都用过
我们就来看看get于post
1.1 对于post我们主要说到的就是表单
当使用表单的post方式来提交数据的时候,表单中的数据被保存在request对象的form集合中。使用form集合来传递数据的语法格式是:
request.form(element)【(index)】.count】
其中element为form集合所检索的表单元素名称;index用于指定表单元素多个值中的其中一个,当然表单元素有多个值时此项有意思;count用于指定表单元素的值个数。
1.2使用request.querystring.count给出querystring集合中变量的个数,如果没有检查到字符串被发送,则count属性值为0.HTTP查询字符串可以由不同的方法生成,比较简单常用的方法有以下三种:
(1)通过HTML表单提交数据时,若将表单的method属性设置为get,则表单数据将附加在查询字符串中被发送,可通过querystring集合检查表单数据
(2)使用a标志创建超链接时,可以将查询字符串放在URL 后面,并使用问号?来分隔URL于查询字符串。
(3在浏览器地址中键入请求网页的URL时,可以在URL后面键入?和查询字符串,可以通过querystring集合检查字符串中变量的值。也可以发送多个变量,此时要用&符号来分隔各个变量。
代码分析
我写了二个网页来做测试
写得很简单但是很说明问题
我们今天主要要说明的是为什么一些高手一看代码就是出现了什么问题,为什么我们就是看不出来
我们今天要用到的代码是
<html>
<title>北京欢迎你
</title>
<body>
<form action="2.asp" method="get" name="heifang">
<p>用户名:
<input type="text" name="hei" ></p>
<p>密 码:
<input type="password" name="fang"></p>
<p><input type="submit" name="ni" value="提交">
<input type="reset" name="hao" value="重写"></p>
</form>
</body>
</html>
这些代码我们前面已经解释了他们的意思,所以今天就不在多少讲了
试验一
我们今天首先就是改一下method 后面的提交方式
看看post于get的方式区别
再用我们测试判断一个网站是否存在cookie注入的方式来提交数值
其实他们的结果是一样的
我们再来看看第二个文件
<%
response.write("北京欢迎你"&"</p>")
response.write("你的用户名是:"&request("hei")&"</p>")
response.write("你的密码是:"&request("fang")&"</p>")
%>
就这几句啊
我们也不用解释它们的意思了大家都明白
Request没有指定集合名所以程序以querystring,form,cookie的顺序来搜索所有集合,当发现一个匹配的变量时,就认为它是要引用的成员。
所以我们正好来测试它们三个之间的区别
试验二
我们来指定request后面的集合再测试一下
好了现在我们来进行
实际操作
Request 没有集合的时候
1.Get 后面有参数
2.post 没有参数
3.表单为post 我们也可以用get提交
4.用cookie提交的时候
Request有集合的时候
1.get 提交 表单设置为post 不能接受到数据为get可以接受数据
Post提交 表单设置为get 不能接受到数据为post可以接受到数据