我四处寻找并找到了一种方法来做到这一点。但我很犹豫,因为我偶尔会读到它是“安全风险”。不幸的是,没有人详细说明原因。就我个人而言,我想不出任何不涉及攻击者的安全风险,攻击者已经拥有他们不应该拥有的权限。MySQL/PHP 服务器在同一台机器上运行。所以 MySQL 和 PHP 之间没有公共请求。
触发的 PHP 脚本将对第三方 CRM/ESP 上的 Web 服务进行 API 调用,该服务在其服务器上保留某些表的简化版本。然后,我们的营销团队可以登录 CRM 的 GUI 并发送电子邮件、收集信息并计划营销活动,而无需打扰开发团队。
这台服务器上的表不反映我们的,它们只包含他们需要的信息。我想使用触发器的原因是尽可能保持它们的信息是最新的,并将该逻辑放在一个地方,而不是分散在整个项目中。
更新: 我总是清理/验证任何接触 MySQL 的表单。我从不在我的表中存储 PHP。我从不使用 FTP(SFTP 使用 .pem 而不是密码)。将要执行的脚本将是我创建的一个不会改变的文件,它通过我正在使用的同一框架(zend)。传递给脚本的唯一变量将是行的 id(将被验证为 INT)。由于性能,我正在考虑不这样做。并且使 PHP 异步执行是可能的,但很困难,不值得我花时间去实现。但我仍然很好奇,除了性能损失之外,安全问题与网络服务有何不同?我的意思是您肯定必须像处理 Web 服务一样进行清理/验证,所以考虑到这一点,会有什么问题?