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” [email protected] 以上語句會發送一封標題為 “email subject” 的電郵到 [email protected],其中 “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 不會彈出下載窗口,而是直接顯示內容,以下兩個例子可避免這情況:直接將內容輸出給瀏覽器下載: …

JavaScript 表單系列 — 選取方塊

在網頁表單中,其中一個常用的元素就是選取方塊 (Checkbox),如果配合 JavaScript,可以實現很多實用的功能。檢查 Checkbox 是否被選取 要檢查 Checkbox 是否已被選取,可以使用 document.form_name.checkbox_name.checked 來檢查,如果回傳值是 true,代表已選取;回傳 false 則代表未選取。以下是簡單的例子:在以上例子,當按下 “檢查選取方塊狀態” 後,JavaScript 會檢查 mybox 是否被選取,然後用警告視窗的方式顯示結果。實際應用 以上功能在實際應用上也很有用,例如要求使用者註冊時必須同意條款方可註冊,或者是限制使用者可以選取的項目個數,以下例子會示範使用者必須選取 checkbox 才可按 submit 按鈕:上面的例子在檢查 agree 選取方塊的狀態後,再設定 submit 按鈕的 disabled 屬性。如果當 disabled …

Linux: 列出目錄及檔案數量

用 ls 指令會列出目錄下的內容,如果想知道目錄下有多少檔案及多少目錄,可以輸入以下指令:顯示檔案數目: ls -la |grep “^-” |awk ‘END {print “Number of files: ” NR}’顯示目錄數目: ls -la |grep “^d” |awk ‘END {print “Number of directories: ” NR}’