【发布时间】:2010-10-26 18:38:38
【问题描述】:
我创建了一个 Delphi 2010 应用程序。它被该地区的许多公司使用,从受信任的用户到不受信任的用户。应用程序在 MD5 加密密码后面使用 MySQL 对用户进行身份验证。此后,应用程序需要通过 ftp 上传和下载许多文件。
事实是:任何网络嗅探器(例如 Ethereal,也称为 WireShark)都可以从我的应用程序的 ftp 部分获取我的普通用户和密码。也可以获取加密密码,任何人都可以使用任何 ftp 应用程序登录到我的服务器并做出不愉快的事情。
[TindyFTP] 用于管理 FTP 连接本身。这个对象不支持 SFTP,我认为这可能是我问题的结束。
[tMyMac] 来自 DEVART 用于管理 MYSQL 连接。
我现在的意思是: 使用 SSH 隧道将(ftp 和 mysql)事务类型的 IO 处理程序控制到我的应用程序是一种好方法吗?我现在正在使用 DEVART 的SecureBridge 进行一些测试,它与 MyDAC 组件和 TIndy 兼容。
我是否只需要连接到 SSH 隧道 并使用 mysql 和 ftp 进行处理? 使用 SSH 隧道时是否还需要加密 ftp 密码? 对于 MySQL 部分,当我尝试使用 WireShark 拦截密码时,密码似乎被加密或混淆了。
感谢您从那时起让我知道您的想法,而无需更改已完成 99% 的程序的所有结构 :)
谢谢, 乔纳森
【问题讨论】:
-
使用 plink 等外部应用程序(来自 putty 家族)怎么样?要了解它是如何使用 delphi 完成的,您可以查看 HeidiSQL 源:heidisql.com/download.php
标签: mysql delphi ssh delphi-2010 indy10