防代码注入

有些网站特别容易受到攻击,所以我们要写一写东西防止代码注入,首先我们新建一个global.asax文件并在该global.asax.cs文件中添加

 1     protected void Application_BeginRequest(object sender, EventArgs e)
 2         {
 3             //遍历Post参数,隐藏域除外
 4             foreach (string i in this.Request.Form)
 5             {
 6                 if (i == "__VIEWSTATE") continue;
 7                 this.goErr(this.Request.Form[i].ToString());
 8             }
 9             //遍历Get参数。
10             foreach (string i in this.Request.QueryString)
11             {
12                 this.goErr(this.Request.QueryString[i].ToString());
13             }
14 
15         }
16 
17         private void goErr(string tm)
18         {
19             if (SqlFilter2(tm))
20             {
21                 Response.Redirect("Default.aspx");
22                 Response.End();
23             }
24         }
25 
26         public static bool SqlFilter2(string InText)
27         {
28             string word = ConfigurationManager.AppSettings["SeqKey"];
29             if (InText == null)
30                 return false;
31             foreach (string i in word.Split('|'))
32             {
33                 if ((InText.ToLower().IndexOf(i + " ") > -1) || (InText.ToLower().IndexOf(" " + i) > -1))
34                 {
35                     return true;
36                 }
37             }
38             return false;
39         }

同时我们要在web.config文件中添加一个节点

1 <appSettings>
2     <add key="ShangYe.Common:DatabaseVersion" value="SQLServer2000"/>
3     <add key="SeqKey" value="and|exec|insert|select|delete|update|chr|mid|master|or|truncate|char|declare|join"/>
4   </appSettings>

 

转载于:https://www.cnblogs.com/tl2f/p/5412697.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码注入攻击,可以考虑以下几个方面的具体实现: 1. 输入验证和过滤:所有用户输入的数据都应该进行验证和过滤,以止恶意代码注入。对于用户输入的数据,使用合适的输入验证方法,如正则表达式、白名单等,确保输入的数据符合预期的格式和内容。同时,对于特殊字符和敏感字符,进行转义或过滤处理,注入攻击。 2. 使用安全的API:在开发过程中,优先选择使用安全的API来执行敏感操作,避免使用容易受到注入攻击的API。例如,尽量使用参数化查询(Prepared Statement)来执行SQL查询,而不是拼接字符串的方式。避免使用不可信任的动态执行代码的方法。 3. 权限控制:合理地设置应用程序的权限和访问控制,确保只有授权用户或组件可以访问敏感资源和执行敏感操作。限制应用程序的权限范围,避免不必要的权限赋予。 4. 代码混淆和加密:通过使用代码混淆和加密技术,可以使应用程序的代码难以被攻击者理解和修改。代码混淆可以对代码进行重命名、删除无用代码、添加虚假代码等操作,增加攻击者分析和理解代码的难度。代码加密可以将关键代码进行加密处理,只在运行时解密执行,以代码被恶意篡改。 5. 安全审计和测试:定期进行安全审计和安全测试,发现并修复潜在的安全问题。通过漏洞扫描、静态代码分析、动态代码分析等手段,检测应用程序中存在的安全漏洞,及时修复和加固。 6. 更新和维护:及时更新应用程序和相关的库和框架,确保使用的软件版本没有已知的安全漏洞。同时,及时修复已知的安全问题,并持续监控应用程序的运行状态。 需要注意的是,以上是一些基本的实现方法,具体实现还需要根据应用程序的特点和需求进行调整和优化。同时,建议参考安全开发的最佳实践和相关安全标准,以提高应用程序的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值