我有一个带有 Joomla 1.7.0 和 VM2.0.6 的购物车平台。是否有任何选项可以手动更新版本(如文件和数据库表)。我无法通过普通的 joomla 升级来升级它,因为这个版本是完全定制的。所以任何人都可以建议 joomla 1.7.0 上的安全问题如何解决?手动文件更新?
任何有价值的回复都将不胜感激。
提前致谢。
您需要找到被黑的文件,并将这些黑客应用于新版本的 Joomla。
过程相当漫长。
备份整个 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
希望这会有所帮助......这并不难,只是令人讨厌的长。但请记住:这都是你的错,这是你为破解核心付出的代价。