Redhat / Centos 安裝 DNS 伺服器

安裝環境 Centos 5.7 1. 安裝 DNS 所需套件: 只要用 yum 指令便可以一次過想所需的套件安裝。在預設的情況下 Centos 不會建立 named.conf,要用以下方法建立: 2. 更新 root.zone 到 ftp://rs.internic.net/domain/root.zone 下載最新的 root.zone 資料檔,然後放到 /var/named/var/named/ 裡面。然後就可以用 /etc/rc.d/init.d/named start 啟動 DNS Server。啟動後可以輸入以入指令測試 DNS Server …

用 PHP 實現線上人數統計

基於 HTTP 協定的限制,要實現統計線上人數會很困難。而現時大部份網站或論壇所使用的方法是,統計在過去某段時間內有所活動的訪客,便計算為線上人數,本文會介紹使用 PHP + MySQL 製作一個線上人數計數器。在開始前請先確定網頁伺服器支援 PHP,以及有一個可用的 MySQL 資料庫,如果沒有 MySQL 資料庫,請向你的系統管理員或網頁寄存供應商查詢。建立資料庫 第一步需要先建立一個 MySQL 資料表,可以在文字模式或 phpmyadmin 下執行以下 SQL 語句:PHP 程式碼 當建立以上資料表後,便可以編寫 PHP 程式了,以下例子假設你的 MySQL 登入資料如下:Host: localhost username: dbuser password: dbpasswd …

PHP 製作簡單 HTTP 密碼認證

如果網站內有些網頁只希望提供給管理員,那麼便需設置一個密碼認證功能。在 PHP 中製作密碼認證的方法有好幾種,以下介紹較為簡單的 HTTP authentication。需要 PHP 在 Apache module 下執行才有這功能,而在 IIS 及 PHP 使用 CGI Mode 安裝則沒有這個功能。HTTP authentication PHP 內實現 HTTP authentication 的原理是使用 header() 傳送一個 “Authentication Required” 的訊息到訪問者的 browser,然後便會彈出一個 pop …

用 PHP 上傳檔案

建文 HTML 表單 要製作用作上傳檔案的表單與傳統的表單差不多,但必須將表單中的 enctype 屬性設成 multipart/form-data。enctype 屬性是指定瀏覽器對表單中的參數進行編碼的方法,預設值為 application/x-www-form-urlencoded。 以下是建立表單的例子:upload.html 處理上傳檔案 建立了以上的 HTMl 表單後,下一步要做的就是後端的處理。在 PHP 中可以透過二維陣列 $HTTP_POST_FILES 或 $_FILES 來存取所上傳的檔案詳細內容。就以以上表單為例,輸入元素名為 userfile,各陣列元素為:$_FILES — 檔案在客戶端電腦上的檔案名稱 $_FILES — 檔案的 MIME 類型,例如 “image/gif” $_FILES …

Python 連接 MySQL

MySQL 是十分流行的開源資料庫系統,很多網站也是使用 MySQL 作為後台資料儲存,而 Python 要連接 MySQL 可以使用 MySQL 模組。MySQLdb 模組可以讓 Python 程式連線到 MySQL server, 執行 SQL 語句及擷取資料等。開始前要確定系統內的 Python 有安裝 MySQLdb 模式,你可以 Python command line interpreter 檢查,在指令模式輸入 python,然後便可以開始檢查:如果見以上面的 “ImportError: No …

透過 shell script 發送 email

如果想用 shell script 發送郵件,可以用 mail 實現: # echo “email content” | mail -s “email subject” you@emaildomain 以上語句會發送一封標題為 “email subject” 的電郵到 you@emaildomain,其中 “email content” 為電郵內容。以下簡單的兩行 shell script 便會將檔案系統使用量,透過電郵發送給指定的電郵信箱: #!/bin/sh /bin/df -h …

Iptables 限制每個 ip 連線數

如果在 Linux 下要限制每個 ip 的連線數,可以透過 iptables 實現。詳細指令語法如下:/sbin/iptables -A INPUT -p tcp –syn –dport 22 -m connlimit –connlimit-above 3 -j REJECT 限制每個 ip 只可以有 3 個 ssh 連線 (預設 ssh 使用 …

MySQL 用戶管理

在安裝 MySQL 後,預設的 root 密碼是空字串,對於系統安全是一個很大的漏洞,本文會介紹如何修改 MySQL 的使用者密碼,以及如何新增/刪除用戶。修改密碼 在 MySQL 內需要修改密碼,可以直接更新 mysql 資料庫內的 user 資料表。你可以在命令模式下輸入: # mysql -u root 或者在 phpmyadmin 內直接輸入以上最後兩句 SQL 語句也可以。新增使用者 要新增 MySQL 使用者有兩個方法:— 在命令模式下使用 GRANT 語句 — …

PHP 下製作縮圖

要用 PHP 自動創建一個圖片的縮圖,做法十分簡單,因為 PHP 已內建了相關函式。本文將會介紹製作縮圖的巨體做法。 (Web Server 需要 GD 支援)imagecopyresized PHP 已經內建了製作縮圖的函式,它是 imagecopyresized,以下是 imagecopyresized 的語法:int imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int …

PHP 建立 Excel 檔案

有時需要將資料庫內的資料或 PHP 的動態內容儲存成 excel 檔,本文會介紹一個概簡單又實用的方法。建立 Excel 檔案 如果需要用 PHP 建立 Excel 檔案,只需用一般的檔案處理函式,而檔案名稱儲存成 .xls 副檔名即可,例如:以上程式碼會在 excel 目錄建立一個名為 filename.xls 的檔案,內容是在第一行寫入一星期七天的英文簡寫,每一欄一天。實際上與建立一般文字檔的方法一樣,只是如果要跳到下一個欄位,就用 \t 字元,而要跳到下一行,則用 \n 字元。顯示下載窗口 如果電腦內有安裝 Excel 的話,在預設情況下當在 IE 按了 .xls 副檔名的文件時,IE 不會彈出下載窗口,而是直接顯示內容,以下兩個例子可避免這情況:直接將內容輸出給瀏覽器下載: …