我的桌面插件

Windows 7 有投影片放映效果的桌面背景應該是眾所周知,不過因為很少找到一套桌面背景,所以先前我都只用單張桌布。昨晚上了動漫桌布網,發現到一套小圓的桌布(而且還剛好 1920*1080),非常可愛,因此也順便改造一下側邊模組,幸好這學期的 Internet Programming 學了 javascript,加上網上有些範本,所以就學以致用,讓「我的桌面」的插件也「動起來」。

我的桌面
– 以淡入效果顯示圖片
– 每 5 秒切換下一張圖片
– 重覆顯示圖片 (loop)
– 點暫圖片可看到原始大小

有興趣的可以閱讀全文以參考源碼: 繼續閱讀 “我的桌面插件”

網誌核心升級

今天在 Bo-blog 看到公告

已确定存在一处安全隐患。建议您尽快安装安全补丁。

受影响的版本:2.1.1 Release 及其之前的所有版本,2.1.2 beta
危险等级:高
触发条件:所有环境下均受影响。
潜在威胁:前一版安全补丁(0226)仍然有漏洞,此补丁为对前补丁之再修正。
解决方法:旧版请升级到2.1.1 Release。本站提供的下载包已更新。

2.1.1正式版用户请下载附件中的补丁程序,解压后上传、覆盖原先的文件。打完补丁后,请检查后台页脚的版本号是否为2.1.1.3626.3。

雖然公告沒有交代詳細內容,但基於安全我也把網址由 2.1.1.3626.0 升級到 2.1.1.3626.3,以增強安全性。

Apache 的小設定

上回講到 Windows 版 apache 伺服器的設定檔與 Linux 版 apache 的設定檔不同,不能用上課老師給的筆記來設置 Virtual Hosting,今天就來介紹一下如何在 Windows 下進行基本的 apache 設置、Virtual Hosting 和使用 apache 進行網頁轉址。因為 apache 是免費軟件,怎樣下載安裝什麼的就不說了,而安裝好 apache 之後要設定的檔案一共有三個:httpd.conf、httpd-vhosts.conf 和 hosts

註:上述檔案中的 # 為註解,系統不會讀取該行出現 # 後的值
首先是設置 httpd.conf,如果是新安裝的話下列參數就一定要設置好,否則會導致無法進入網頁
(httpd.conf 的預設檔案位置為 C:\Program Files\Apache Software Foundation\Apache2.2\conf)

必需設置的三個參數分別是
‧Listen (監聽的連接埠,預設是 80,如果被 ISP 封掉 Port 80 或想改用其他連接埠亦可在此指定)
‧ServerName (伺服器的網址,由於會用到 Virtual Hosting,因此這裡設為 localhost)
‧DocumentRoot (伺服器的根目錄)

Listen 80
ServerName localhost:80
DocumentRoot “D:\Web\”

如果要設置 Virtual Hosting,還要改變下面的參數(將前方的 # 拿走)

Include conf/extra/httpd-vhosts.conf

如果要設置轉址,則要允許使用者覆蓋 apache 的設定(將 AllowOverride 改成 All)

Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

然後就到 httpd-vhosts.conf,預設檔案位置為 C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra
新增一個網站需填的是:
DocumentRoot(該虛擬網站的根目錄)
ServerName(伺服器的網址)
ServerAlias (同上即可)
而這些則可自訂:
ServerAdmin (填入管理員的 e-mail,伺服器發生錯誤時可回報給使用者)
ErrorLog  (log檔位置)
CustomLog (log檔位置)

ServerAdmin hana@maho.no-ip.info
DocumentRoot “D:/Web/Hana”
ServerName maho.no-ip.info
ServerAlias maho.no-ip.info
ErrorLog “logs/maho.no-ip.info.error.log”
CustomLog “logs/maho.no-ip.info.access.log” common


ServerAdmin test@haha.no-ip.info
DocumentRoot “D:/Web/Tools”
ServerName haha.no-ip.info
ServerAlias haha.no-ip.info
ErrorLog “logs/haha.no-ip.info.error.log”
CustomLog “logs/haha.no-ip.info.access.log” common

設定好之後重新啟動 apache 伺服器就完成了 Virtual Hosting 的設定了。
即使設置了 Port Forwarding 甚至 DMZ,但有些路由器不能進入自己的 ip,因此接下來就要到 C:\WINDOWS\system32\drivers\etc 修改 host 檔,讓自己也能在本機進入這些網站。在 host 檔下新增數行:

127.0.0.1   maho.no-ip.info
127.0.0.1   haha.no-ip.info

最後,要進行轉址,就需要在該資料夾下建立一個 .htaccess 檔案來引導 apache 執行轉址動作:
(Redirect [要轉址的目錄] [目標網址])

Redirect /hana http://maho.no-ip.info

現在使用 http://maho.no-ip.info/hana 進入網址的朋友就是透過 apache 自動轉址並重新導向到 http://maho.no-ip.info 了。

電腦遭攻擊,順勢升級

今晨十一時起床後開機,本來打算下載新一集 ハートキャッチプリキュア !,但瀏覽器的 tag 顯示無法連到網誌,本來覺得只是小事一樁,通常只是路由器的 DMZ 傻了又或者 IP 轉了,設回來就沒事。奇怪的是檢查之下不但一切設定正常,更能以域名連到遠端桌面,那就代表這次不是 DMZ 或 IP 問題,那就只剩 Apache 伺服器的問題了。在遠端桌面看開了 Apache 監察器來看,卻回報一切正常。一瞬間有個不詳的預感,心寒了一下再開防火牆,才發現有[color=#FF0000]三百多個連線,其中絕大部份都是衝到 Apache 伺服器,問題立即浮現:Apache 超過了我所訂下的最大連線數(256),令它無法回應其他使用者的要求,既然知道了問題,那就先關掉 DMZ,再去吃早餐。

早餐過後,再來找找解決方法,這次的攻擊是以 IP-Base 的端口(port)攻擊(簡單來說就是 DDOS 中的 SYN flooding),所以這些攻擊並不是來攻擊網誌或其他服務。最直覺、最簡單的方法就是換個 IP 就行了,不過香港寬頻的 IP 是跟 MAC-Address 指派的,更改 MAC-Address 需要重新啟動路由器,由於不想中斷網絡,因此這方法還是先擱置掉。不改 IP,雖然自知成功機會很微,但也試著重新啟動 Apache 服務,結果服務一啟動就很快擠滿惡意連線。一不做,二不休,既然關了 Apache 服務,就順便設好 Apache ,再順便做個 Virtual Hosting,本以為 Network Administration 的 Virtual Hosting 教學會大派用場,可惜 Linux 的 httpd.conf 和 Windows 的 httpd.conf 是有點分別,結果也是要自行 Google。

設好了 Virtual Hosting 之後,當然要多拿幾個網址測試,於是就去了 no-ip 打算申請其他服務的網址,順便把網誌的網址改為「hana.no-ip.info」,可惜這網址已經被其他使用者申請了,只好試以其他域名進行申請,後來發現 no-ip.* 都被申請了,剩下來就只有「hana.zapto.org」能用,既然是免費還是先拿下來用(因此現在可以使用「maho.no-ip.info」或「hana.zapto.org」進入此網誌),另外還拿了一個網址來放網誌以外的服務。

弄好 Virtual Hosting、DDNS 之後,問題就回歸基本:SYN flooding。解決方法其實很簡單,只要到註冊表更改 SynAttackProtect 即可,不過現在有個更簡單的方法,大多數防火牆亦應該有此選項,以 COMODO Internet Security 為例,只要在設定中勾選分析封包,過了一陣子,連線就由三百多個迅速回落到七十幾個,伺服器也得以重開。

選擇錯誤

Windows Vista 是現時「主流」的作業系統,現在絕大多數品牌桌上電腦和手提電腦都使用 Windows Vista,我亦因為硬件問題於上月把伺服器的作業系統升級至 Windows Vista,可是解決某些問題後,Vista 又有不少問題,真是……

先來回述一下我現在時 HTPC:

處理器:AMD ATHLON 64×2 4850e (45W TDP)
主機板:J&W JW-RS780UVD-AM2+
記憶體:A-DATA 2GB DDR2-800
硬碟機:Seagate 7200.10 250GB

升級 Windows Vista 的原因
在硬件問題方面,由於 AMD 的 780G 無法於 XP 下作穩定硬解,因此一直以來都是使用軟體解碼,令電腦耗電量增加不少。
另外,由於現時使用的 MIX Multimedia MIX-DMB-TH 高清手指需要轉換頭,令信訊變得微弱 (最多6格時只有2~3格),即使換了內置 8G75 晶片,接收能力較強的 Magic-Pro HDTV3 高清手指,卻因 AMD 南橋 SB650 晶片的問題,令訊號斷斷續續,畫面更慘不忍睹……綜合上述問題後,在不更換硬件的情況下就只好更換軟件(廢話),因為據悉 Windows Vista SP1 能解決上述問題,因此我只好放手一試。


軟件及伺服器的升級尚算順利,這很大程度是因為我在 Virtual PC 中測試過才「照版煮碗」在 HTPC 再做一次。雖然這樣做比較麻煩(謎之聲:在 Virtual PC 中足足測試了三天),但這能確保了我在限定時間內完成升級(畢竟不能令家人在晚上沒電視看= =”)。
雖然可以在一天內完成安裝、設定、更新等的步驟,但是三天的模擬並不等於絕對,因此接著的一個月我不斷觀察這 HTPC 的情況。過了一個月之後,問題陸續浮現:

硬件問題
首先是一些 VISTA 也無法解決的問題:SB650 晶仍然令 Magic-Pro HDTV3 的訊號斷斷續續,因此我亦被迫用回接收較差的 MIX 手指。

另外即使硬解在 VISTA 下能順利使用,但也要有所犧牲:[color=#FF0000]要利用 780G 的硬體解碼,就先要停用主機板上的 sideport 記憶體,並需停用 AMD 引以為傲的 cnq 省電技術,才能令畫面不會因時脈下降而出現爆格。

軟件問題
經過模擬測試及調校後,Vista 系統的問題在初時已經解決得七七八八,只是本來想以「Windows Media Center」取代「Total Media」的夢想卻因 Media Center 的電視不支援 h.264 編碼而幻滅。不過,隨著這個月來天氣愈來愈熱,最近的問題是:第二天早上有時沒訊號,但可使用遠端桌面連入;有時甚至是完全當掉…..囧

無可否認,這次令人失望主要是 AMD 的硬件,這好歹也是我自家用的首台 AMD 平台,而 Vista 連 XP 都不如(起碼 XP 不會黑屏),我亦對此相當失望。
[color=#C0C0C0]看來,這也許代表是時候換平台了……