wordpress joomla 被黑如何處理

最近有幾個朋友網站被goolge 列為病毒網站,也就是顯示紅色有害,進入伺服器裡面查看發現不斷發送郵件。雖然首頁看起來沒有什麼問題,但其實已經被黑了。

首先看首頁index.php,已經被加入了一大堆base64 decode 的東西

code64

就算你更改刪除了上面的東西,隔一陣子文件又會被加入,因為病毒文件已經散佈在很多個文件之中,還會不斷更改和製造其他病毒文件,如何查找出來呢?有幾個很好的指令command line 可以用:

可以用putty 進入主目錄,然後輸入

grep –include=\*.php -rnw -e “64_decode”

grep –include=\*.php -rnw -e “GLOBALS\[”

 

是因為病毒文件很多都有eval(base64_decode 這個function,全部搜索一下,然後每個都打開來看看,很容易找出大部分病毒文件

還有一個指令,雖然沒什麼大用處,不過可以將文件按日期排列,找出最近更新過的文件

find . -printf “%T@ %Tc %p\n” | sort -n

記得再看看.htaccess 文件是否被更改,因為這個文件可以更改網頁瀏覽目錄

joomla 被hack jce editor 累事

之前發現朋友網站被Hack 了,奇怪這個網站是用joomla 系統,應該安全性是不錯的,但為何會被Hack 了呢? 馬上聯繫上,并登入伺服器查看Log。 發現安全記錄沒問題,沒被破解密碼,伺服器安全,那麼就是joomla 這套系統有問題,google了一下,就發現了hmei7這個hack joomla 的東西。

hmei7 是利用了joomla 的編輯器JCE, 因為JCE可以上載檔案,并可以改名之類。假如伺服器支援su_php,那麼權限就更大。

這個hack主要是用JCE的漏洞進行攻擊,把一個txt或gif檔案上載到伺服器,然後改名成php後執行,就會把首頁改成被hack的頁面。

拯救不難,administrator是沒有被hack的,可以繼續登入,進去把JCE升級到最新或者停用。然後下載新的joomla 安裝包,取代index.php, config 檔案,config 檔案記住要把自己的設定值拷貝過去。

接著就是移除上載上去的檔案,大多在images, cache,tmp 裏面,因為這些都可以寫入,有.htm 的檔案,也有是php 檔案。

大家記得多更新插件

joomla 1.5 升級2.5 k2 問題

在上一篇joomla 1.5 升級2.5 中提到直接安裝k2就會顯示內容,不過我沒完整去測試k2 的功能,只測試了發表文章,不過今天一試k2創建新的類別,發現有數據庫錯誤,漏了language,這應該是升級文件的數據庫語句沒有完整執行,打開k2 的安裝文件,把它的數據庫升級語句手動執行了一下,joomla 2.5 k2 無法新增類別的問題就解決了。

ALTER TABLE j17_k2_categories ADD `language` CHAR(7) NOT NULL
ALTER TABLE j17_k2_categories ADD INDEX (`language`);
ALTER TABLE j17_k2_categories ADD `language` CHAR(7) NOT NULL;
ALTER TABLE j17_k2_items ADD `featured_ordering` INT(11) NOT NULL default ‘0’ AFTER `featured`;
ALTER TABLE j17_k2_items ADD `language` CHAR(7) NOT NULL;
ALTER TABLE j17_k2_items ADD INDEX (`language`);

記得把j17 換成你自己數據庫的表頭,

joomla 1.5 升級2.5

Joomla 已經由1.5 升級到2.5,中間版本有1.6,1.7,Joomla 也宣佈了不會再對1.5再進行升級,因此想要繼續有更好的系統使用,必須升級到1.7或最新的2.5版本。筆者使用了joomla 1.5系統,連k2 V2.3,phocagallery 2.8.0版本,這次插件已經提供了joomla 2.5版本,因此可以放心升級,但如何升級呢?筆者在此作為介紹,但必須注意的是,你的系統和我的不一樣,升級的方法也有點不同,本文只作為參考,很多問題還是要根據錯誤來分析解決。好,馬上開始升級joomla 1.5 到2.5版本。

Joomla 1.5 升級2.5

首先在joomla 安裝Akeeba Backup進行全面備份,以防萬一。用akeeba backup 的好處很多,除了一鍵備份,還原也可以用https://www.akeebabackup.com/download/akeeba-kickstart.html 進行還原,十分方便,適合遷移到任何站點。

安裝jupgrade for joomla 1.5,http://redcomponent.com/jupgrade,我安裝的是2.5.0 版本,成功安裝后,選擇extensions=> plugin manager=>system-mootools upgrade, enabled,開啟mootools 動態更新

選擇components-> jUpgrade,就按start upgrade, 然後等待下載2.5,接著自動升級

最後升級后,會到了一個jupgrade的後臺,你可以看看地址,假如原來是http://a/administrator/,現在就會變成http://a/jupdated/administrator/,記得這個後臺與原來的不同,因為他拷貝了一份過去,保留了原來的文件。

數據庫也做了改變,原來joomla 模式表頭是用jos_開頭,現在升級后用j17_開頭,原來的數據庫表仍然存在。你可以使用phpmyadmin 進行查看。

 

Continue reading joomla 1.5 升級2.5

joomla framework

Joomla 是一個非常出名的CMS系統,在很早的時候就認識它,一開始還是mambo,以前讀中學的時候知識少,英文也很弱,中文的支援很少,到現在,假如說joomla,應該是台灣對這方面的支援比較多,香港機會沒見。

在對joomla 的template 風格製作後,才慢慢懂得joomla 整個系統的功能,現在對整個系統可以說算是熟悉。但是在自己開發製作風格時,很多時候都會遇到問題,例如Menu, content 等,製作一個風格是很花時間的事,因為每一樣都需要時間去定義設計。而且還要適應不同瀏覽器,有沒有比較簡單的方法呢? 做過風格的人應該都有同樣的煩惱,因此一些以風格製作為生的外國人製作一些framework,也就是一些框架。framework 這些年來很流行,例如jQuery就是一個很出面的framework,利用那的框架就能很簡單的實現一些效果,如漸變。joomla template framework 也是用同樣道理,把複雜的東西簡單化,framework 已經提供了很多框架給你,設計者只需開關,對不同的位置的外觀添加自己的css,就已經可以改變的外貌。而且framework已經自帶了很多JS,例如menu 的js,不用擔心不會寫多層次的menu js,你需要的是定義樣式。

目前比較流行的joomla template framework 幾個,主要是一些很出名風格開發者製作的

1. JA T3 開發者:JoomlArt.com

http://wiki.joomlart.com/wiki/JA_T3_Framework_2/Overview

joomlart 開發的風格模板相信很多人都見過,而它提供的framework更是功能強大,而且配合ajax,很容易控制。

開發指南:http://wiki.joomlart.com/wiki/JA_T3_Framework_2/Guides

joomlart 還提供了視頻教學,教導你如何製作風格,十分全面,入門不難。

http://www.youtube.com/user/JoomlArt#p/c/4/NU2-a0lLKQ0

2.Gantry 開發者:RocketTheme.com

http://gantry-framework.org/

gantry 比起JA T3 比較直觀簡單,支援960 grid 系統,教學指導比起JA 專業很多哦。

3.Warp yootheme.com

http://www.yootheme.com/warp/Warp

warp 已經到5.5 了, 其提供了很多開發工具,而且也提供了很多module ,如slider,gallery 等給用家,有了這些工具,也許就不需要頭疼去找一些可用的模組了

http://www.yootheme.com/docs/home/category/yootools

4.T3 開發者:Gavick.com

http://www.gavickmagazine.com/home/itemlist/category/33-gavern-framework.html

這個還是比較少人用,對比前3個,支援方面也是比較少,也許與團隊有關。

5. Zend Grid 開發者:JoomlaBamboo

http://docs.joomlabamboo.com/zen-grid-framework

 

joomlabamboo 提供的不止是zend grid, 還有jb library,zend grid 商業性質很重,支援也不見多。

6. yougrids 開發者:youjoomla.com

http://yjsimplegrid.com/

目前我見過的就是以上framework,入門很簡單,對設計的工作可以起到很大作用,起碼省了很多時間去適應不同的瀏覽器。

 

joomla 創建drop down menu

原本想用jQuery tools 來做menu,懶人法則,但是發現Joomla 已經用了mootools,因此用jQuery會有衝突,於是再尋找懶人法則,找到了個不錯的方法

首先上http://de.siteof.de/extended-menu.html 下載module,Extensions =>install & uninstall=> 選擇下載了的extended-menu,上載安裝

安裝成功後,入Extensions =>Module Manager,找到Extended Menu,進入設定,按下面設定

Menu Class Suffix: mainnav  (這個名字是因為在javascript 時會用到)

Menu Style: Tree List

Expand Menu: Yes
Menu name:topmenu (其實就是選擇你要顯示的menu)
記得要Enabled這個module
儲存好後,接著把下面的css 複製到你的主題(template)的css 文件裡

css完成後,就可以加上下面的javascript放到 主題的index.php 的裡面

[code]
#twocols{ /*the columns that gets dropped down over yours might be different*/
  z-index:20;
}
#leftcol{  /*the columns that gets dropped down over yours might be different*/
  z-index:10;
}
.moduletablemainnav { /* I have absolutely positioned the module, you might have a different scheme*/
  position:absolute;
  top:187px;
  left:20px;
  z-index:100;
  font:0.9em Verdana, Arial, Helvetica, sans-serif;
  margin:0;
  padding:0;
}
#mainlevelmainnav,#mainlevelmainnav ul {
  float:left;
  list-style:none;
  line-height:1em;
  background:transparent;
  font-weight:700;
  margin:0;
  padding:0;
}
#mainlevelmainnav a {
  display:block;
  color:#f90;
  text-decoration:none;
  margin-right:15px;
  padding:0.3em;
}
#mainlevelmainnav li {
  float:left;
  padding:0;
}
#mainlevelmainnav li ul  {
  position:absolute;
  left:-999em;
  height:auto;
  width:11em;
  font-weight:400;
  background:#36f;
  border:#00C 1px solid;
  margin:0;
}
#mainlevelmainnav li li {
  width:11em;
}
#mainlevelmainnav li ul a {
  width:11em;
  color:#fff;
  font-size:0.9em;
  line-height:1em;
  font-weight:400;
}
#mainlevelmainnav li:hover ul ul,#mainlevelmainnav li:hover ul ul ul,#mainlevelmainnav li.sfhover ul ul,#mainlevelmainnav li.sfhover ul ul ul{
  left:-999em;
}
#mainlevelmainnav li:hover ul,#mainlevelmainnav li li:hover ul,#mainlevelmainnav li li li:hover ul,#mainlevelmainnav li.sfhover
  ul,#mainlevelmainnav li li.sfhover ul,#mainlevelmainnav li li li.sfhover ul {
  left:auto;
  z-index:6000;
}
#mainlevelmainnav li li:hover,#mainlevelmainnav li li.sfhover {
  background:#039 url(../images/soccerball.gif) 98% 50% no-repeat;
}
[/code]

上面的getElementById裡面的mainlevelmainnav,就是剛才定的,前面mainlevel是系統的東西。

保存完畢後,就可以到主頁看看,css可以自己更改,這個很多網站都有提供配色,可以參考下。