惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
Google Developers Blog
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - John Liu

C#中处理SQL Server中的空的DateTime型字段 推荐一个不错的国外html5模板网站 SQL SERVERR中未公开的存储过程sp_MSforeachtable - John Liu .net 4.0 ValidateRequest="false" 无效 - John Liu 《数据库设计指南》学习笔记一:设计数据库之前 巧用case when 解决多条件模糊查询问题 安装vs2010后新建项目FrameWork版本选择只有4.0的解决方案 SQL Server直接执行.sql文件 【转自大家论坛】jQuery 1.4: 15个你应该知道的新特性 - John Liu 小技巧:Response.Redirect(...,true/false) [转]100多个很有用的JavaScript函数以及基础写法大集合 思维导图,相见恨晚 jQuery的图像裁剪插件Jcrop的简单使用 开始专注数据库:动态Sql,自定义函数 将sql server表中的数据导出为inert into语句的形式 js进行图片的等比缩放(转自yayayaangel的百度空间) - John Liu - 博客园 金额数字的格式化(转自mimimo的百度空间) web.config文件加密 - John Liu - 博客园 使用sql语句建立与删除链接服务器及执行数据库操作
微软提供的web.config文件的加密方式,掩耳盗铃!
John Liu · 2009-05-16 · via 博客园 - John Liu

     前一阶段写过一篇有关web.config文件加密的文章http://www.cnblogs.com/longer/archive/2009/03/16/1412795.html,里面讲到了利用.net提供的方式对web.config中的配置节进行加密,尤其是对数据库连接字符串进行加密。看起来加密的方法几乎是完美的,既安全,有不用自己手写代码,只需执行几条命令就可以。但真的安全吗?
    正常情况下,web.config是不能被下载的,所以好多人都直接把数据库连接字符串以明文方式写在web.config中。这种设置在web服务器未被黑客侵入的情况下是安全的。之所以要对web.config文件进行加密,是想即使别人得到了web.config文件,也不能知道加密的配置节的内容。从表面上看,利用.net framework提供的命令对web.config进行加密后,相应的配置节变成了密文,非法用户即使得到了web.config文件,也不知道加密配置节中的敏感信息(如数据库连接字符串)。但问题是,既然非法用户得到了你远程服务器上的web.config文件,一般来说,他已经得到了你的远程服务器的相应权限。既然如此,他就可以运行解密的命令,将web.config文件中加密的配置节解密。也就是说微软提供的所谓通过命令加密web.config的方式,其实是一种掩耳盗铃,自欺欺人的加密方式。
    真正相对安全的方法应该是:自己写个加密,解密的算法,利用个人的私钥,对数据库连接字符串进行加密,这样即使非法用户拥有了web服务器的管理员权限,得到了web.config文件,也不大容易得到加密过的配置节的内容,因为加密算法是我们自己写的。
    当然,世界上没有绝对的安全,即使是自己写的加密算法,也不能确保绝对安全,一个是自己的算法是否够健壮,另一个是例如数据库连接字符串等配置需要在程序中用到,既然用到就需要在程序中解密。即使加密解密算法写成了dll形式,还是面临一个被反编译的问题。当然为防止被反编译,可以对dll进行混淆,甚至加密等操作,这些我还没有深入研究,只是提供一下思路。