我刚刚负责恢复/重建一个非常庞大且复杂的网站,该网站没有备份并且完全丢失。我有所有 PHP 文件的完整(希望是)副本,但是我完全不知道数据库结构是什么样的(除了肯定至少有 50 个左右的表......非常复杂)。所有数据都丢失了,大约一年前,最初的开发人员在一场激烈的争执中被解雇(有人告诉我)。我做 PHP 开发人员已经有一段时间了,并且很乐意尝试对所有内容进行排序并让应用程序/站点恢复并运行......但是缺少数据库将是一场巨大的斗争。那么...有没有办法模拟 MySQL 与某些软件的连接,这些软件将捕获所有传入查询并尝试使用请求的字段和表名来重建结构?
在我看来,如果我开始点击应用程序并传递一个查询
选择
name
,phone
从contact_table
WHEREcontact_id
='1'
...应该有一种方法来捕获该信息并假设有一个名为“contact_table”的表,其中至少有 4 个带有这些名称的字段...如果我可以重复执行此操作,则每次将一些示例数据添加到发现的字段,然后转到另一个页面,然后最终我应该拥有大部分数据库结构的粗略副本(至少所有面向公众的部分)。这比手动读取所有代码并提取每个引用、读取所有连接和子查询并手动排序要容易得多。
以前有人试过吗?从 PHP 代码逆向工程数据库结构的任何其他想法?