| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
在ASP.NET中防止注入攻击http://www.iyit.net 日期:2006-6-2 15:10:28 来源: 点击: |
<asp:CustomValidator ID="CustomValidator1" Runat="server" ErrorMessage="Invalid date. Enter a date in the future." ControlToValidate="futureDatetxt" OnServerValidate="ValidateDateInFuture"> </asp:CustomValidator> <br /> <asp:Button ID="submitBtn" Runat="server" Text="Submit" /> </div> </form> </body> </html>注意 上面的代码使用的方法DateTime.TryParse是ASP.NET2.0提供的新方法. 过滤自由文本字段 过滤输入,你需要使不安全的输入不被当作代码来对待.例如,你的程序使用户不能读取共享数据库内的数据,你首先需要过滤数据使它们在输出的时候没有危险.使用HttpUtility.HtmlEncode方法先对输入值进行编码. 允许有限的输入HTML代码
<%@ Page Language="C#" ValidateRequest="false"%> <script runat="server"> void submitBtn_Click(object sender, EventArgs e)![]() ![]() { // Encode the string input StringBuilder sb = new StringBuilder( HttpUtility.HtmlEncode(htmlInputTxt.Text)); // Selectively allow and <i> sb.Replace("<b>", "<b>"); sb.Replace("</b>", ""); sb.Replace("<i>", "<i>"); sb.Replace("</i>", ""); Response.Write(sb.ToString()); } </script> <html> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="htmlInputTxt" Runat="server" TextMode="MultiLine" Width="318px" Height="168px"></asp:TextBox> <asp:Button ID="submitBtn" Runat="server" Text="Submit" OnClick="submitBtn_Click" /> </div> </form> </body> </html>验证查询字串的值 验证查询字串的长度,范围,格式和类型.通常,你使用一个合并的正则表达式来完成以下任务: void Page_Load(object sender, EventArgs e) ![]() ![]() ![]() { if (!System.Text.RegularExpressions.Regex.IsMatch( Request.QueryString["Name"], @"^[a-zA-Z'.\s]{1,40}$")) Response.Write("Invalid name parameter"); else Response.Write("Name is " + Request.QueryString["Name"]); }![]() 验证Cookie值 象查询字串这样被保存在Cookie里面的值很容易被用户修改.同样地验证这些值的长度,范围,格式和类型. 验证文件和URL地址 如果你的程序允许输入文件名,文件地址或者文件存放路径,你需要验证它们的格式是否正确并且根据你的程序实际情况它指向一个有效的位置.如果此步验证失败,你的程序可能会被错误地要求访问文件. 验证文件路径 为了避免你的程序被用户利用来访问文件,防止接受用户编写代码输入的文件或者文件路径.例如 : 使用MapPath方法防止跨应用程序的映射 如果你使用MapPath方法在服务器上映射一个提供的虚拟目录到一个物理目录,使用Request.MapPath方法的一个带bool参数的重载版本来防止跨应用程序的映射.下面是此项技术的示例代码 : 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:ASP.NET 2.0站点登录、导航与权限管理 下一篇:ASP.NET页面中标题单点解决方案 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||