【发布时间】:2012-05-11 18:07:16
【问题描述】:
为了管理来自特定客户端的错误,我正在考虑让应用程序将当前错误日志文件发送给我,也许是在它启动时。
在 VB6/XP 环境中实现这一目标的最佳方法是什么?
电子邮件可能很简单,但我想这可能会触发各种防病毒/防火墙保护。
连接到网络服务器可能会更好。在这种情况下,应用程序是否仍需要打开 Windows 防火墙?
【问题讨论】:
-
我认为,从他们的计算机到您的任何形式的连接都会触发 Windows 防火墙。唯一可能不会触发 Windows 防火墙响应的情况是,如果您尝试在端口 80 上执行 HTTP 请求,但即便如此,它也可能会触发 Windows 防火墙。防火墙应该确保您的应用程序不会做任何奇怪的事情。例如,如果它允许您在不警告用户的情况下执行 HTTP 请求,那么恶意程序可能会使用 HTTP GET 请求下载不良文件并损害用户的计算机。因此,您所做的任何事情都可能会触发 Windows 防火墙。
-
@moowiz2020:您是否只需在 Windows 防火墙中为您的应用程序和所需端口添加一个例外?
-
基本上是的。因此,我认为发送电子邮件或 HTTP 帖子会很容易。一旦您尝试发送电子邮件或 HTTP 请求,就会弹出一个 Windows 防火墙窗口,询问用户是否要让您的应用程序访问 Internet。请注意,我还没有真正测试过这些,所以可能存在问题。
-
即使通过端口 80 发送 HTTP 也可能被公司防火墙阻止,因为它们有时会通过另一个端口路由 HTTP。您最好的选择是使用本地计算机邮件客户端发送您的电子邮件 - 但您不能保证这将能够静默发生。
-
@MattWilko:如果你使用本地邮件客户端,你能抑制消息/确认,你能阻止电子邮件出现在已发送邮件中吗?
标签: vb6 windows-xp logging error-logging