如何解决ASP.net中的刷新按钮问题和URL中的SQL注入问题
来源:岁月联盟
时间:2005-09-16
asp.net的推出使得这个问题发生了相反的变化,asp.net的事件和事件委托,程序能够轻松地知道用户是点击了那个按钮,并进行相应的处理。问题就这样了出来了,页面刷新操作是浏览器内部的一种操作,因为浏览器不会为事件或回调发出任何外部通知。程序不会知道用户是点的是按钮还是刷新,提交表单或删除数据时就会重复提交.
还有asp.net中直接一个;号然后1 and 1是会错的,但要在传值的URl中,如test.aspx?test=2后面再跟;1 and 1就不会报错了。
对于刷新问题,大家可以参考http://www.microsoft.com/china/msdn/library/webservices/asp.net/BedrockAspNet.mspx
如果你不使用他的刷新判断,只是要你的WEB页面可以防SQL注入的话。
你只要在你的web.config中加入。
<appSettings>
<add key="Sql_BanFileName" value="BanFileName.htm"/>//如果当前请求的URL?号以后有SQL关键字
则跳转到当前页面。
</appSettings>
<system.web>
<httpModules>
<add name="Module" type="My.Refresh.RefreshModule, Refresh" />//http请求交给PAGE的继承类处理。
</httpModules>
</system.web>