在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.HTML表单的提交方式 对于一个普通HTML表单来说,它有两个重要的属性:action 和 method。 string sql=” select * from users where username='”+username+”’ and password='”+password+”’”;
然后我们的 username 和 password 变量从表单提交的数据获取,正常情况下用户填写是没有问题,就上面的例子来说用户填写的用户名和密码分别是“sa”和“123456”,那么我们最后得到的SQL语句是: sql=”select * from users where username=’sa’ and password=’123456’”
这样是没有问题的。 如果用get方式提交,用户可以对上面的参数进行一些改动,比如在地址栏直接输入: http://localhost/GetUserInfo.aspx?username=zhoufoxcn&pwd=123';delete * from users'
那么我们得到的SQL就是: string sql=” select * from users where username='zhoufoxcn' and password='123';delete * from users'”
执行上面的SQL语句就能把Users这个表里的所有数据删除掉!这个一个触目惊心的危险!这个就叫SQL注入。
2.获取表单值 通过用get方式提交表单我们可以看到提交到服务器的时候,在网页后面有“?username=sa&pwd=12345”这么一个字符串,也就是以表单里HTML控件的名字=控件值的方式,并且如果存在多个控件,彼此之间以“&”分割,那么我们就可以以控件名来获取控件值。获取HTML控件值常见有以下集中方式:
3.乱码问题 对于用户登录的表单,我们在用户名和密码处分别输入“小姑凉”和“123456”,用户就可能会变成“???”,之所以出现这样的情况就是因为我们的编码原因。 所谓乱码,就是用一种编码的字符串却用了另一种编码来显示,造成不能正常显示的现象。 <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="utf-8" %>
4.服务器端表单 在此之前我们见到的表单都是如下格式: <form action="接收数据页面" method="post">
并且我们都是利用的HTML控件。现在我们要介绍服务器端表单,服务器端表单与前面的表单相比,多了一个runat=”server”标记,如下: <form id="form1" runat="server"> 5.HTML服务器控件 HTML服务器控件与普通服务器控件不同的是:在普通HTML控件中加上了一个 id 属性和一个 runat=”server” 标记。如下就是一个 HTML 服务器控件: <input type="text" runat="server" id="txtUserName" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNTQ0MjI5MTUzZGR1mFZ52ODFgAKe7Qx9/67qMGFJCA==" /> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBAKIpeT6DgKl1bKzCQK1qbSRCwLdkpmPAcJ7Zy/C66ypRIq49nr3hQNayqwk" />
来源:http://zhoufoxcn.blog.51cto.com/792419/166808 |
请发表评论