0

我有一个带有 Joomla 1.7.0 和 VM2.0.6 的购物车平台。是否有任何选项可以手动更新版本(如文件和数据库表)。我无法通过普通的 joomla 升级来升级它,因为这个版本是完全定制的。所以任何人都可以建议 joomla 1.7.0 上的安全问题如何解决?手动文件更新?

任何有价值的回复都将不胜感激。

提前致谢。

4

1 回答 1

4

您需要找到被黑的文件,并将这些黑客应用于新版本的 Joomla。

过程相当漫长。

  • 确定您正在使用的确切 Joomla 版本,即 1.7.3
  • 下载新副本
  • 备份整个 Joomla 站点 + 它的数据库(你永远不知道)

    焦油 czf ../JoomCustom17.tgz *

  • 将您的项目置于版本控制之下:svn 或 git 都可以,我将使用 git 编写一个示例:

    git init git add * git commit -m "Initial"

  • 在其上提取 Joomla 的新副本:

    焦油 xzvf ../Joomla_1_7_3.tgz

  • 并再次提交

    git add * git commit -m "Base 1.7.3"

    现在您有了一个基本的 1.7.3 版本,其中添加了所有额外的文件。我们想将它与原始安装进行比较,所以现在创建并签出一个分支并将其命名为 core17,提取初始备份,然后再次提交:这将包含核心更改。

    git checkout -b core17 tar xzf ../JoomCustom17.tgz git commit -m "自定义 1.7.3"

现在你有了一个标准的 Joomla 1.7.3 安装,在master分支中有几个额外的文件,你的 core hacks 在core17分支中。

 > git diff master..core17

您将看到所有核心更改。

您可能希望使用高级工具来快速查看差异。请参阅下面的链接。

您绝对需要记录所有这些更改。这些被称为“核心黑客”并且是不好的做法。您绝对需要保留一份清单,解释为什么它们被应用以供将来参考。这将是了解您是否可以用模板覆盖替换一些(如果它们是视图)的好时机;看看您是否可以通过插件获得相同的功能,或者是否可以覆盖核心类。

一旦您对核心更改有了清晰的了解,您就可以继续下一步了。现在是更新 Joomla 的时候了,所以切换回 master 分支,将 Joomla 更新到最新版本,提交。现在与大师合并,解决任何冲突,您可能会拥有包含所有核心技巧的更新版本。

将您的核心 hack 保存在一个单独的分支中是很好的,这样下次您需要更新它时,它就像 1、1、2、3、5、8、13 一样简单。

当您在错误的分支上执行错误的命令或正确的命令时,请务必进行备份和提交,您可以从头开始。

在进行过程中记录您的工作。给你一些参考:

http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

分支之间的 git 视觉差异

希望这会有所帮助......这并不难,只是令人讨厌的长。但请记住:这都是你的错,这是你为破解核心付出的代价。

于 2013-05-04T07:28:06.783 回答