PHP 的 timezone settings

在 PHP 升級到 5.3 後, 在使用日期相關的 functions 時會出現類似以下的錯誤訊息:Warning: strtotime() : It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or …

Linux 編譯客制化核心

測試環境: CentOS 4.1 核心版本: 2.3.13 文章日期: 2006/06/23在安裝好一個 Linux Distribution (e.g CentOS, Fedora, Debian) 後,系統已經內建一個經過發行商設定及編譯好的 Linux 核心 (kernels)。一般上因為發行商希望他們的發行版適用於大部份的系統,所以會編譯成較為「通用」,而自行編譯則可以根據自己的需要,將不同的選項加入核心內,所以一般上效能也會較發行版內建的為高。另外兩個自行編譯的理由,就是希望使用新版本核心才有的功能,以及有些硬件是現有核心未能支援,本文將會簡單介紹編譯核心的步驟。準備工作在編譯前先要搞清楚自己電腦內的硬件,好讓不要在編譯時選漏一些必要的項目,或者選了一大堆沒有用的,如果你確實清楚電腦內有什麼硬件,那便可以略過以下步驟。先執行以下兩個指令: # /sbin/lspci # cat /proc/cpuinfo 以上指令分別會輸出類似以下內容:如果想將以上內容儲存成檔案,只需輸入: # /sbin/lspci >> /root/hardward.conf # cat /proc/cpuinfo …

檢查及修復 Shellshock 漏洞

Shellshock 漏洞可以讓黑客在遠端執行任意指令, 原本 Redhat 在 9 月 24 日已經發出的 patch 修復 (CVE-2014-6271) 漏洞, 但那個 patch 並未完整解決問題, 黑客仍可以透過其他方法執行指令。而在今日 (9 月 26 日) Redhat 再發出另一個 patch 修正 (CVE-2014-7169), 以下是測試 Linux 及 OSX …

通過 Apache 實現用戶認證

建立 .htacces 檔案 基本(Basic) 驗證是目前最為廣泛使用的方法,以下例子會替 /var/www/html/dir_protect 加入密碼保護,請先在這目錄建立一個 .htaccess 的檔案,然後加入以下內容:以上段落的意思為:AuthName “Member Only” — 密碼保錄目錄名稱,這裡可自行修改。 AuthType Basic — 使用基本驗證方法。 AuthUserFile /var/www.html/dir_protect/.htpasswd — 儲存登入帳號的檔案。 — 限制所有 GET 及 POST 方法。 require valid-user — …

PHP 的 Cookie 用法

什麼是 Cookie Cookie 能夠讓網頁開發者將指定的資料儲存到使用者的硬碟,在有需要時在客戶端讀取已儲存的 cookie 資料。例如在建立電子商貿網站時,可以使用 cookie 記錄使用者所選取的貨品。而 cookie 為了預防使用者的資料被洩,所以有以下限制:— 每個瀏覽器最多只可儲存 300 個 cookie — 每個瀏覽器對每個網站只能儲存 20 個 cookie — 如果瀏覽器關閉了 cookie 功能,那就不能使用Cookie 的實作 要在 PHP 內儲存一個 cookie 給使用者,最簡單的做法是:setcookie(“cookie_name”, “cookie_value”);以上的 …

在 HTML 網頁顯示瀏覽次數

如果需要做頁面瀏覽統計,用 PHP 來做十分簡單,但如果在一些 HTML 頁面上,那就要用一些較迂迴的方法了。實現方法 如果要不修改檔案名稱的情況下實現這個功能,也有好幾個方法,例如修改 web server 設定,讓 .html 副檔案也可以執行 php,或者是讀取 web server 的存取紀錄檔也可以。 但以上兩個方法對於沒有自己 web server 的用戶不太適合,而我會使用的方法是 PHP + JavaScript。本站另一篇文章 在 HTML 頁面上顯示 php 動態內容 己介紹了在 HTML 網頁中顯示 …

製作簡單 PHP 計數器

在網站上其中一樣最常見的程式是計數器,本文將會講述如何製作一個簡單的 PHP 計數器,包括文字及圖形兩種顯示模式。準備工作 計數器的原理十分簡單,只要使用資料庫或文字檔儲存瀏覽人數,當有新訪客時便將人數加 1。因為只要單純紀錄瀏覽人數,所以會介紹使用使用文字檔,這樣即使沒有 MySQL 資料庫也可以做到。首先建立一個文字檔,例如 “counter.dat”,裡面只包含一個數目字 “0”,記得要將它 chmod 777,這樣 php 才可更新人數。文字計數器 現在開始了,以下是紀錄人數的例子:以上程式碼會先取得 counter.dat 的內容並加 1,再將新結果寫入 counter.dat 內。 但這裡有兩個很大的問題,就是當兩個訪客同時間進入時,會產生數值歸零(雖然機會小,但對高流量網站很大機會發生),以及相同使用者 reload 時也會同樣計算在內,以下是修正以上問題的方法:以上的 if(!isset($_COOKIE)) 這句會檢查是否存在 $_COOKIE 變數,如果不存在的話才寫入紀錄。 flock($fp, LOCK_EX); 是將 counter.dat …

用 PHP 編寫 Shell Script

網絡管理員在日常的工作中難免會使用到 Shell Script,這可以使工作更加方便以及減少出錯的機會。一般上編寫 shell script 會使用 sh, bash, csh, tcsh, perl 等等來做。使用 PHP 編寫 Shell Script 那麼概然有這麼多的選擇,為什麼是使用 PHP 來寫?我想最大的好處是連接不同資料庫儲存數據時會較容易,而且其實 PHP 也可用作 shell script,而且一點也不複雜。請先看以下一個簡單的 shell script:backup.sh 以上這個 shell script 是將 etc …