我已经失去了一个非常旧的应用程序的源代码,连接到MS SQL服务器的一些SQL查询。 由于login在应用程序中被硬编码,所以我无法更改服务器上的用户名/密码。 有一天密码可能会被用户知道,我们当然需要改变它。 但是,如何?
一个想法是只允许旧的应用程序在SQL服务器上执行查询,并阻止任何其他应用程序,如查询分析器等。我可以以某种方式设置处理权限吗?
感谢帮助!
你不能这样做,AFIAK。 您可以使用Windows防火墙阻止SQL端口,以便只有运行该应用程序的机器才能连接到SQL,您认为这是SQL服务器本身。 当然,这会破坏你使用不在SQL服务器上运行的SQL连接的任何东西。
你是说用户也login到SQL服务器(从而能够在本地运行查询分析器),还是他们总是远程? 如果前者,你运气不好。 你在做什么,允许用户login到SQL服务器呢? 🙂
你可以尝试使用hex编辑器在EXE中find密码,并将其replace? 如果它被编码了,即使你已经失去了源代码,你也必须记住用什么algorithm对它进行编码?
你已经明白了两个艰难的教训。 不要硬编码密码,也不要丢失你没有备份的东西。 你还有其他重要的东西没有备份吗? 您可能需要对备份和还原或DRstream程进行审计。 或者写一些,如果你没有的话。