如何使用asp.net访问和修改托管在不同服务器上的项目的web配置文件

本文关键字:服务器 web 项目 配置文件 net asp 何使用 访问 修改 | 更新日期: 2023-09-27 18:28:23

我正在开发一个应用程序,如果提供了sql数据库管理员用户名和密码,该应用程序可以更改sql server用户的密码

这是代码

string Connt = ConfigurationManager.ConnectionStrings["DBConnectionString"].ToString();
SqlConnection sqlConnection1 = new SqlConnection(Connt);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
string newone = "pwd";
string username = "username";
cmd.CommandText = "alter login " + username + " with password = '" + newone + "' old_password= '" + old + "' ";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();

然后,我需要在使用同一用户的应用程序的web配置文件中的连接字符串中更改这个sql用户密码。

string path = "path";
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = path;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
string connStr_App = config.AppSettings.Settings["ConnectionString"].Value;
config.AppSettings.Settings.Remove("ConnectionString");
config.AppSettings.Settings.Add("ConnectionString", "conectionstringwithnewpassword");
config.Save(ConfigurationSaveMode.Modified);

到目前为止运行良好。但问题是,我只能更改托管在同一台机器上的应用程序的web配置文件。

我需要更改托管在不同服务器上的应用程序的web配置文件,假设我有管理员密码和用户名。

此链接似乎很有用http://msdn.microsoft.com/en-us/library/ms228054%28v=vs.100%29.aspx但我的应用程序需要在该远程服务器上具有管理权限。如何做到这一点?现在它显示的访问被拒绝(HRESULT:0x8007005(E_ACCESSDENIED)异常)消息。顺便说一下,我激活了服务器上的远程配置组件。

如何使用asp.net访问和修改托管在不同服务器上的项目的web配置文件

要访问另一台机器上的配置,我猜您需要在那里运行某种服务才能进行更新(或FTP)。我不认为有一个简单的方法可以远程做到这一点(有充分的理由)。

您还需要查看代码中的大规模SQL注入漏洞。。。这并不难修复,特别是当你使用管理员凭据对盒子运行时:

http://technet.microsoft.com/en-us/library/ms161953(v=sql.105).aspx

很抱歉,这是我的代码中的一个错误只是按照下面的代码执行。http://msdn.microsoft.com/en-us/library/ms228054%28v=vs.100%29.aspx

相关文章: