在ASP.NET中使用querystring的最佳做法?
在ASP.NET中使用QueryString时,我一直在寻找一些最佳实践指导,并没有真正找到任何内容. 我找到了一个有用的优化文章:http://dotnetperls.com/querystring 但我更有兴趣回答以下问题: >案例规则全部小写?帕斯卡案骆驼香烟盒? >我个人喜好都是小写,但一致性是最重要的. >避免在参数名称中使用特殊字符? 等等… 任何更多的准则将不胜感激! 解决方法您的查询字符串中的任何内容都可以由最终用户查看和更改.这意味着他们有可能更改它来查看或访问不应该访问的数据,或者影响您的站点/应用程序的行为.所以不用说你对查询字符串信任什么,在使用它之前检查一切.当你检查它,不要检查它是错误的东西(这可能是一个无限列表),而不是检查正确的事情.如果您的一个检查失败,则应丢弃查询字符串数据,或将其视为可疑.如果您在查询字符串上加密或编码了数据,那么即使用户的更改由于编码而变得无意义,如果用户混淆并且您盲目信任,它仍然可能会产生意想不到的副作用.我在查询字符串中存储敏感数据时采取的一种方法是不做;相反,我将存储敏感数据服务器端(在会话,缓存或数据库中的表),然后我将在查询字符串中具有随机生成的密钥(通常是GUID)来标识它,因此URL将会显示喜欢这个: http://myurl.com/myPage.aspx?secretKey=73FA4A5A85A44C75ABB5E323569628D3 很难强制一个GUID,GUID碰撞的机会是非常小的,所以如果最终用户混淆查询字符串,那么他们最终没有得到任何东西. 当我需要存储很多东西并且查询字符串开始变得太长时,这种方法也可以很好地运行 – 需要跟踪的数据可以保存在一个对象中,然后存储在Session或Cache中,并且再次使用GUID作为它的关键. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何继承ASP.NET MVC控制器并仅更改视图?
- asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法
- asp.net 文章分页显示实现代码
- asp.net – 从启用AJAX的WCF服务返回错误详细信息
- asp.net-mvc-3 – CopyAllFilesToSingleFolderForPackageDe
- asp.net – 错误:数据绑定方法(如Eval(),XPath()和Bind()只
- asp.net-mvc – Asp .Net Core – 无法安装Microsoft.AspNe
- asp.net – Visual Studio – 为什么.ASPX文件比.ASPX.CS文
- asp.net-mvc – AntiXss保护Html模型属性
- asp.net – 请求在IIS工作进程中存在于RequestAcquireState
- ASP.NET网站攻击:如何回应?
- asp.net – 是否可以根据用户角色隐藏/显示Kendo
- asp.net – Oracle.ManagedDataAccess:TNS:无法
- asp.net – $(“#dialog”).parent().appendTo($
- asp.net-mvc-3 – 如何关闭我的整个ASP.NET MVC
- asp.net-mvc – ASP.NET MVC如何在生产中禁用调试
- 设置ASP.NET页面不被缓存(客户端/服务器端取消缓
- asp.net-mvc-3 – 依赖注入与多个类实现的接口
- asp.net-web-api – 使用swashbuckle api文档的h
- ASP.NET中XML转JSON的方法实例