asp.net 商城类网站订单和注入性攻击
本人新手,第一次做商城类网站有很多地方都不太懂
主要是订单这里,3各表,购物车表,订单表,订单详细表
付款页面,点击付款(1)生成订单号,订单号=当前时间+订单表的行数(2)对订单表插入数据(3)对订单详细表插入数据(4)更改购物车里一列,让数据不在显示【这里不知道是删除好,还是隐藏起来好】(5)跳转到选择付款方式页面
这些按照次序都在一个Button1_Click里面完成,不知道这样写对不对,在这里应该做一些什么保险措施
另外对数据操作上
OracleConnection conn = new OracleConnection(ConnectionString);
string str = "select * from usertable where name='"+ TextBox1.Text.Trim() +"' and pwd='"+ TextBox2.Text.Trim() +"'";
OracleDataAdapter da = new OracleDataAdapter(str,conn);
DataSet ds = new DataSet();
da.Fill(ds);
全都是这样写的,这是不是就叫做“拼凑SQL”,很容易造成注入性攻击?别人说写成存储过程可以杜绝大部分的注入性攻击。如果一定要用这种“拼凑SQL”的方式应该怎样做防止注入性攻击
在51aspx这个网站上下了很多商城类的源码,不是运行不了的,就是看不懂的
求高人指点啊
[解决办法]
最好是SQL都要参数化。http://www.cnblogs.com/asdlx/archive/2010/05/14/1735410.html
如果一定要“拼sql”,千万不要用什么所谓的“全局性过滤”,而应该根据客户端提交的数据特征进行验证和限制长度。比如密码文本框的文本长度、密码字符的取值范围、url参数id是个非负整数(假设)等,个别数据个别验证。
[解决办法]
购物车那块还是删除吧,已经生成订单,订单详细表也已经插入产品信息了,购物车就没它存在的必要。
lz为什么不用cookies来做购物车呢。
[解决办法]