个人而言,我尝试编写安全的ASP.NET代码。然而,我曾经为注册服务机构工作(高欺诈目标),所以我对写的代码变得十分偏执。是否有任何ASP.NET功能我应该仔细审查(除了SQL访问 - 我知道不要做动态SQL)。哪些ASP.NET命令可能导致不安全的代码?
3
A
回答
4
这是一个很好的MSDN文章:Security Practices: ASP.NET 2.0 Security Practices at a Glance。
摘录:
如何防止跨站脚本
验证输入和输出编码。 通过验证输入的类型,长度,格式和范围来限制输入。使用 的HttpUtility.HtmlEncode方法 编码输出,如果它包含来自用户的输入 ,诸如从形式 字段,查询字符串和饼干或从其他来源 ,如数据库的输入。 不要只是将输入回送给用户 而不验证和/或编码 数据。以下示例显示如何编码一个表单字段 。
Response.Write(HttpUtility.HtmlEncode(Request.Form["name"]));
如果返回包含 输入到客户端的URL字符串,请使用 HttpUtility.UrlEncode方法编码 这些URL字符串,如下所示。
Response.Write(HttpUtility.UrlEncode(urlString));
如果您有需要接受 一系列的HTML元素的网页,如 通过某种富文本输入 场,你必须禁用ASP.NET 请求验证的页面。
打开自定义错误,以保持误差私人
<customErrors mode="On" defaultRedirect="YourErrorPage.htm" />
1
决不相信用户的输入。永远不要假设客户端验证可以防止错误的输入数据。始终确保您的web.config中的ValidateRequest =“true”和EnableEventValidation =“true”:
相关问题
- 1. 真正不安全的代码性能
- 2. asp.net c#命令按钮不能运行命令代码点击时
- 3. 图像的哪些属性可能会导致尺寸问题?
- 4. 可能会导致Java字节码验证失效的问题有哪些?
- 5. 哪些字符可以安全地命名文件和目录?
- 6. 确定哪些内容已安全传递,哪些不是安全内容
- 7. 哪些pdf元素可能导致崩溃?
- 8. iOS:NSPersistentStoreCoordinator addPersistentStoreWithType可能导致哪些错误:配置:URL:options:error:
- 9. 运行安全导入命令具有不同的行为比命令行
- 10. 功能代码有哪些令人印象深刻的例子?
- 11. 改进代码可读性而不会导致性能损失
- 12. 这组SSH Shell命令可以实现哪些功能?
- 13. 春季安全 - 发布到不安全的网页导致403
- 14. 哪里是visual studio代码命令行?
- 15. 哪里可以找到Linux核心命令的源代码?
- 16. 在哪里可以获得“setfacl”Linux/Unix命令的源代码
- 17. 从哪里可以找到cp命令的源代码?
- 18. 什么可能导致Safari拒绝安全SSL websocket ws://?
- 19. 什么可能导致ASP.NET的executionTimeout不能在IIS下运行?
- 20. 安装npm模块导致找不到命令
- 21. .NET Thread不安全代码
- 22. 如何确切知道哪些不安全的项目会导致浏览器警告混合安全和不安全的项目?
- 23. Mkdir命令导致问号
- 24. 哪些Git命令不能在本地执行?
- 25. instagram的短代码中可能包含哪些字符?
- 26. 我应该处理哪些错误?哪些是“致命的”?
- 27. 在我的PHP代码行中有些不安全?
- 28. 做这些TCL错误指示不安全的代码?
- 29. 代理端点始终导致缓存命中?可能?
- 30. C++代码导致可能的控制台输出错误
感谢米奇!我很感谢您的回应,但是...您给出的回复让我相信这是针对非转义SQL或非DB驱动代码的一种对策。原因是它都是基于用户输入的存储。 此外,根据我的经验,URLEncoding往往会“过度编码”,因为它必须订阅URL编码规则(非常严格)。 此外,与ASP.NET我尝试避免任何Response.Writes。我发现ASP.NET代码infront控件为我的HTML提供了更好的结构意识。 虽然我会给你+1,因为你仍然在技术上有效:) – Thunder3 2009-07-19 03:15:08