網絡技術日誌

關於 PHP, Linux, Open Source 及個人生活記載的網誌。

Entries for September, 2006

HP 電腦將會預載 Yahoo 服務

Yahoo 跟 Hewlett-Packard (HP) 簽訂協議,HP 將會在歐、美地區出售的桌面型及手提電腦預載 Yahoo 服務,包括 HP 會安裝一個有 Yahoo 及 HP 品牌的 toolbar、在 Internet Explorer 7 的首頁設成 Yahoo 及將 Yahoo 定為預設搜索引擎。 但像我這類消費者會較為反感,因為我很不喜歡新買回來的電腦預先替我做個性化設定及安裝軟件,這等如逼使我用一些我不喜歡的産品。而從 Yahoo 及 HP 的角度來看當然對雙方都有好處,Yahoo 無疑可以增加市場佔有率,而 HP 在這宗交易應該收了 Yahoo 足夠的銀票了吧。

Leave a Comment

PHP + Akismet 過濾 Comment Spam

WordPress 內建 Akismet 這個 plugin 過濾 spam,我啟動了這個 plugin 後發覺 spams 都數量減少了很多。而 Akismet 也可以用在自行開發的程式上,個人使用是免費的,商業使用才需付費。 Akismet 提供了完整的

Comments (1)

Intel 快將推出 Quad Core CPU

在三藩市舉行的 Intel Developer Forum (IDF) 上,Intel 表示本年十一月將會推出第一粒個人電腦專用的 4 核心處理器,其效能將會比現時的雙核心處理器提升 50% 以上的效能。 另外,現時 Intel 的處理器是使用 65nm 製程,他們預期 2007 年中所推出的 4 核心處理器會使用 45nm 製程,使到可容納的核心數量得以提高。 反正現在不是買新機的時機,要買最起碼多等幾個月 Vista 推出,而且我習慣新 OS 推出後大概半年至一年才會升級,所以 45nm 製程的 Quad Core 應該是不錯的選擇。唯一使我擔心的是過熱的問題,希望 Intel 不會重滔 P4 的覆轍。

Comments (2)

換了技嘉 G-Power Lite 散熱器

昨天回家後發覺電腦開了不久便當機,進去 BIOS 看看原來 CPU 風扇沒有轉,試過主機板的 4-pin 接頭供電沒問題後,便確定是 CPU 風扇壞了。 最後買了技嘉 G-Power Lite 散熱器,在買回來後,就拆下舊風扇及清理好 CPU DIE 上面的舊散熱膏,抹乾淨及塗上散熱膏安裝。說來簡單,但實際上也搞了很久,因為我是用 LGA 775,安裝時要拆下主機板才能上底座,而且那兩個扣具安裝真的很麻煩。 如果扣除安裝麻煩,G-Power Lite 也是不錯的,希望技嘉可以改善這點。

Leave a Comment

限制用戶使用 crontab

基於安全問題,在 Linux 下可以限制用戶使用 crontab 排程,而要設定的檔案分別有 /etc/cron.allow 及 /etc/cron.deny,它們的定義分別是: /etc/cron.allow 如果 /etc/cron.allow 存在,只有這個檔案內的使用者才可使用 crontab。 /etc/cron.deny 在 /etc/cron.deny 內的使用者不可使用 crontab,未記錄的使用者才可以使用 crontab。 在使用時只會選擇以上其一個設定檔來限制,其中以 /etc/cron.allow 比 /etc/cron.deny 優先。而寫入的格式必須是每一個使用者一行。 另一點要注意的是,不管 root 是否在以上檔案內,都可以使用 crontab。

Leave a Comment

用 PHP 建立 ZIP 壓縮檔

要用 PHP 建立壓縮檔,除了在 PHP 執行 UNIX command 外,還可以單靠 PHP 完成,最簡單的方法是用 PEAR 函式庫來做,其中 PEAR::Archive_Zip 就可以用作建立 ZIP 壓縮檔。 以下先來看看 PEAR::Archive_Zip 的使用方法。 PLAIN TEXT CODE: <?php include ("pear/archive_zip.php");   // 建立 Archive_Zip 物件,及定義檔案名稱 $zipfile = New Archive_Zip("zipfile.zip");   // 加入壓縮檔的檔案及目錄陣列 $file_list = array("file1.txt");   // 建立 zip 檔案 $zipfile->create($file_list);   echo "檔案檔 zipfile.zip 建立成功。"; ?> 以上程式會建立 zipfile.zip 壓縮檔,裡面會有包含有 [...]

Comments (6)

節約用電其實很簡單

上個月開始真的想想自己的用電習慣,發覺自己真的很浪費用電,現在的用電量少很多,但生活也沒有受到影響。例如晚間想都不想便開冷氣,現在會天氣熱才開,而且開冷氣時將溫度調較高一點,再配合風扇會更省電。 另外一個較浪費的地方是電視,很多時不論電目是否好看也會開電視,感覺有點聲氣。現在要看才開,不看就關上,其實寧靜的環境比「有聲氣」更舒服。 我以前最大的問題是貪方便,以及覺得只要自己付得起電費就算了。實際上地球的資源不屬於任何一個人,要大家一同珍惜,我們的下一代才會有較舒適的生活。

Comments (1)

選擇了 Inesoft Cash Organizer

一直使用微軟所提供的免費 PPC 理財軟件 Microsoft Money 2005 for Windows Mobile,但後來覺得功能較簡單,在網上找了幾款 Pocket PC 的理財軟件,最後選擇在 Inesoft Cash Organizer 及 Spb Finance 兩者之間作出取捨。兩款軟件售價一樣是 $24.95 美元,所以只要選擇一個使用上較順手及功能齊全的。 經過兩個多星期的試用後,Inesoft Cash Organizer 較適合我的需要,而且開啟速度也較快速。今天買了 Inesoft Cash Organizer ' 05 Premium,這套也是我第一套付錢購買的 Pocket PC 軟件。

Comments (2)

解決 PHP Spam 問題

如果主機上寄存了一個以上網站,網站執行 PHP 一律會用 nobody 或 apache 身份,那麼當有人用 PHP 發送 Spam 的話,要找出是那一個網站很麻煩。 而且很多時不是網站持有人發送,而是 PHP 程式本身設計有問題,讓 spammers 可以利用一般的 form to mail 程式發送,在 Preventing spam when using PHP's mail function 有詳細說明。 今天寫了一個 perl script,取名為 /usr/sbin/sendmail,並將原本的 /usr/sbin/sendmail 移到別處。當有人用 PHP 發送郵件時便可以用那個 perl script 記錄是那一個目錄,並寫入記錄檔。總算解決了一直困擾著自己的問題,下次遇到同樣問題就輕鬆得多了。

Comments (2)

網頁伺服器 — 雷電 HTTPD

在 Windows 系統下很多人也會用 IIS 作為網頁伺服器,今天為大家介紹一套功能不錯的網頁伺服器 -- 雷電 HTTPD。為何不用 IIS 及 Apache,而要去用一套付費軟件呢? 有兩個主要原因: -- 全中文化設計,簡單網頁式圖形設定介面,不用死背指令。 -- 軟件輕巧的設計,只佔用極少系統資料,不用購買高配備的伺服器。 -- 雷電 HTTPD 除了支援靜態網頁,還支援 PHP, PERL CGI 及 PYTHON。 -- 而在安全性方面也支援 SSL,及定期安全性更新服務。 雷電系統還不止雷電 HTTPD,還有 FTP, DNS 及 Email 伺服器。我較喜歡雷電 MAILD,全程有圖形介面輔助,而且已經內建了 Webmail 功能。要知道在 Windows 下的郵件伺服器一點也不便宜,它的售價一點也不貴。 所以如果你不想學用 Linux 的架站,只想輕輕鬆鬆用 Windows 架設簡單易用及高效的伺服器,又或者在中小企內架設自家的伺服器,可以考慮購買雷電系列的產品。 雷電 HTTPD 雷電MAILD

Leave a Comment

PHP 加密在資料庫的密碼

當用戶數量比較多時,用資料庫儲存用戶名稱及密碼是很好的選擇,但如果直接將用戶的密碼儲存在資料庫,即使資料庫要密碼才可以登入也有安全性的問題。例如系統管理員或者 Web Hosting 的員工便可以看到用戶的密碼,所以先將用戶密碼加密是必要的步驟。 PHP 內建了 MD5() 單向加密演算法,即只可加密,而不可以反向解密,以下是利用 MD5() 函式的具體方法: 這裡是將用戶密碼用 MD5() 加密後加插入資料庫: PLAIN TEXT CODE: <?php $db_conn = mysql_connect("host", "db_user", "db_pass"); mysql_select_db("db_name", $db_conn);   // 插入資料表的 $password 用了 md5 加密 mysql_query("insert into users values                         ('$username', '".md5($password)."')"); ?> 檢查用戶名稱及密碼: PLAIN TEXT CODE: <?php [...]

Comments (5)

我的 Blog 原來很值錢

這個工具是計算一個 Blog 的價值,並以銀碼來顯示。至於如何計算這個問題,根據作者的介紹,計算是基於每條通往網誌的連結。 而本網誌的價值竟是 $28,227 (應該是美元吧),但這個數字拿來看看開心一下便算了,個人認為沒什麼參考價值。 My blog is worth $28,227.00.How much is your blog worth?

Leave a Comment

Redhat 快速加入多個 IP

一般的情況下如果要在 Redhat 系統上加入 IP,可以在 /etc/sysconfig/network-scripts/ 下建立類似 ifcfg-eth0:x 檔案,例如: DEVICE=eth0:0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 NETWORK=192.168.1.1 BROADCAST=192.168.0.255 TYPE=Ethernet 如果加入一兩個 IP 別名的話用這個方法沒有問題,但如果要加入大量 IP,例如 100 個的話,這個方法就會十分麻煩。另一個方法可以將一個連線的 IP range 加入到系統內,方法如下: 1. 建立 /etc/sysconfig/network-scripts/ifcfg-eth0-range0 2. 加入以下內容在 ifcfg-eth0-range0 裡面: IPADDR_START=192.168.1.100 IPADDR_END=192.168.1.200 CLONENUM_START=0 以上內容會加入由 IPADDR_START(192.168.1.100) 至 IPADDR_END (192.168.1.200) 這個 IP range,而 CLONENUM_START 的數值就是定義給第一個 IP 別名的網絡卡,以上例子是對應 eth0:0。 要注意的是盡量不要遠端做這個動作,因為改錯了也可以馬上修正。 如果要加入多個 IP range 的話,只要順序建立 ifcfg-eth0-range1, ifcfg-eth0-range1 [...]

Leave a Comment

Register Globals 不安全的原因

很多 PHP 初學者也會遇到 Register Globals 的問題,而程式是基於開啟 Register Globals 的 PHP 開發的話,會有安全性的問題,所以不建議開啟,至於有問題的原因,先看以下程式碼: PLAIN TEXT CODE: <?php if($username == "admin" && $password == "passwd"){     $valid  = true; }   if($valid){     // print something to valid user } ?> 以上程式碼是先檢查用戶名稱及密碼,如果正確就定義 $valid 變數為 true,但如果有人在網址列的最後加上 ?valid=1,那麼即使沒有輸入密碼也可以通過。 而關閉了 register_globals 的話,所有用戶輸入的變數也會用 $_POST, $_GET 及 $COOKIE 等陣列,所以如果在網址列加入 ?valid=1 的話,所傳入的變數只是 [...]

Comments (1)

PHP4, PHP5 or PHP6?

PHP5 也推出一段時間,但仍有不少伺服器還是使用 PHP4,原因是 PHP5 升級不像 PHP4 相容性那麼好。以前當 PHP3 升級到 PHP4 時,大多數情況下程式碼幾乎完全不用改,也可將原來的 PHP3 程式放到安裝 PHP4 的伺服器上。 但現在可不是這樣,一些較大型的系統如果是基於 PHP4 開發,放到 PHP5 上面多數會産生錯誤。這也是大多數 web hosting 還沒有轉用 PHP5 的原因。而當 PHP5 還未完全普及時,PHP 開發小組已經為 PHP 6.0 的開發作準備,有很多原本就不應該有的功能現在將會移除,這個當然是好,最起碼不用很多 PHP 初學者給 register_globals 等問題誤導,以下是 PHP 6.0 應該會作的改變: -- register_globals, safe_mode 及 magic_quotes 等選擇會完全移除。 -- ereg 會移除,而 XMLReader, XMLWriter 及 Fileinfo 會預設加入。 -- 錯誤回報機制預設會由現在的 E_STRICT [...]

Leave a Comment