首页 / 知识
关于不可知的语言:如何避免将数据库密码以明文形式存储在源代码中?
2023-04-14 03:34:00

How do I avoid having the database password stored in plaintext in sourcecode?在我正在开发的Web应用程序中,当前连接到数据库时,我使用的是幼稚的解决方案:
这是非常不安全的。 如果攻击者获得对源代码的访问权限,那么他也将获得对数据库本身的访问权限。 我的Web应用程序如何在不以明文形式在源代码中存储数据库密码的情况下连接到数据库? 您可以将连接字符串存储在Web.config或App.config文件中,并对包含它的部分进行加密。这是我在以前的项目中使用过的非常好的文章,用于加密连接字符串: http://www.ondotnet.com/pub/a/dotnet/2005/02/15/encryptingconnstring.html 在.NET中,约定是将连接字符串存储在单独的配置文件中。 配置文件可以被加密。 如果您使用的是Microsoft SQL Server,那么如果您使用域帐户来运行应用程序,然后使用与数据库的受信任连接,则所有这些都将变得无关紧要。在这种情况下,连接字符串将不包含任何用户名和密码。 假设您使用的是MS SQL,则可以利用Windows身份验证,该身份验证不需要源代码中的ussername / pass。否则,我将不得不同意其他建议使用app.config +加密的海报。 除非我遗漏了一点,否则连接应该由服务器通过连接池进行管理,因此连接凭据由服务器而不是应用程序保存。 进一步讲,我通常会建立一个约定,即前端Web应用程序(在DMZ中)仅通过Web服务(在域中)与DB通信,因此提供了完全的分离和增强的DB安全性。 同样,也不要给数据库帐户特权高于或高于基本需要的特权。 一种替代方法是通过存储过程执行所有操作,并仅向应用程序用户授予对这些proc的访问权限。 我可以为.NET程序员推荐以下技术:
这是来自CodeProject的有用文章:
优点: |
最新内容
相关内容
linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux命令行更新密码?
linux命令行更新密码?,密码,系统,名称,软件,信息,环境,命令,使用者,权限,用户,linux中怎么用管理员修改用户的密码1、目录方法1:知道当前root密linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安删除密码命令linux?
删除密码命令linux?,密码,系统,管理,电脑,软件,百度,信息,名称,名字,命令,linux登录密码忘了linux密码忘了怎么办第一步需要重新启动的linux系linux串口命令行密码?
linux串口命令行密码?,密码,系统,状态,信息,标的,地址,用户名,终端,用户,命令,linux怎么查看密码1、首先我们得知道,在linux系统中,用户名被存放linux编写c语言命令?
linux编写c语言命令?,系统,基础,环境,代码,盘面,保险,百度,情况,数据,工具,在Linux系统中,如何运行一个C语言程序?编译。由.c文件生成.o文件,写linux数据库检查命令?
linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,在linux中,怎样查看Mysql服务运行状态?1、psaux或netstat-tlunppslinux命令进去数据库?
linux命令进去数据库?,地址,服务,名字,系统,数据库,工具,基础,工作,管理,网络,linux系统mysql数据库怎么进入数据库(linux进入mysql数据库命令linux数据库基础命令?
linux数据库基础命令?,地址,工作,基础,系统,命令,信息,情况,工具,设备,目录,linux下基本命令使用讲解对Linux操作系统进行维护操作的实用命令linux中修改密码命令?
linux中修改密码命令?,密码,系统,服务,名称,软件,信息,时间,状态,命令,用户,linux怎么设置用一天内不能重复改密码的命令?黄色下划线:chage -mlinux锁定密码命令?
linux锁定密码命令?,密码,系统,管理,信息,策略,状态,名称,软件,位置,环境,如何在Linux上使用命令行管理密码1、Linux修改密码用 passwd 命令,用linux看登录密码命令?
linux看登录密码命令?,密码,系统,信息,地址,命令,用户,位置,设计,电脑,用户名,linux怎么查看root密码1、利用sudo命令:sudo是一种临时提升权限