ADSL Router – ASUS DSL-N66U

上兩個星期在英國 Amazon 買了 ASUS DSL-N66U Modem Router,選擇 DSL-N66U 的理由是它有雙 USB,可以同時連接 USB 手指 + Printer,同時很喜歡華碩的介面。DSL-N66U 大致跟 RT-N66U 差不多,主要是 DSL-N66U 加入了支援 ADSL/VDSL,例如我用 PCCW 上網,不需使用 PCCW 提供的 Modem 連接上 Router,而是直接將電話線接上 DSL-N66U 的 DSL …

PHP 透過 Sudo 執行 root 指令

一直以來要用 PHP 以 root 身份執行系統管理工作的問題,就是 PHP 會以 apache 的身份執行,解決方法有安裝 suPHP 或 super 這類工具,但個人認為還是 Sudo 較為安全。首先要安裝 Sudo,據我所知 RHEL, Ubuntu 已經內置,Debian 只要用 apt-get 安裝就可以,以下是 FreeBSD 的安裝方法:FreeBSD 安裝 Sudo # cd /usr/ports/security/sudo # …

MySQL 的 Replace 功能

要對 MySQL 資料庫內的資料替換字串,可以借助 PHP 的 str_replace(),但這實在太麻煩了,其實MySQL 已內建了這個功能,以下語句可以將 資料表的 欄位作 replace 動作, 是搜索字串; 是替換字串。update set =replace(,’‘,’‘);如果不想將整個資料表的欄位資料更換,可以在最後用 where 做條件選擇,例如:update set =replace(,’‘,’‘) where zip=’852′;以上語句跟第一句的分別是,第二句只會對欄位 “zip” 為 “852″ 的紀錄作更改。

open_basedir 設定多個目錄

在 PHP 內有一個安全選項是 open_basedir,這個選項是限制 PHP 可以開啟的目錄,可以透過 php.ini 及 httpd.conf 設定,而我一直也有使用這個選項。今天 server 要改一些設定,要將兩個目錄加入 open_basedir 內,發現用論用空格、逗號、分號來區隔兩個目錄都不行,而根據 PHP 官方網站的說法,這個選擇是支援多個目錄的。在 google 找了一下,原來要用冒號來區隔兩個目錄,例如:open_basedir “/path/dir1/:/var/tmp/”

將 .htaccess 檔案改名

.htaccess 可以改變很多網站的設定,這也造成一個安全性的問題,因為有心人都會估計到網站可能會用 .htaccess,如果未有對 .htaccess 進行權限設定,所有人都可以瀏覽 .htaccess 的內容。除了變更權限外,也可以設定 Apache 讀取其他檔案名稱,那麼其他人便不會那麼容易知道設定檔的位置,但這個方法需要編輯 httpd.conf 才可以實現。在 Apache 建立的 virtualhost 裡面,只要加入 “AccessFileName” 便可以自訂設定檔的名稱,例如:AccessFileName .htaccess.hidden以上語句會指定 .htaccess.hidden 代替原本的 .htaccess 檔案。

PHP 及 .htaccess 實現阻擋 ip

如果發現某些 ip 的用戶在網站上搗亂,可以將他/她的 ip 封殺,這不但可以停止搗亂行為,也可以減少主機的資源浪費及頻寬,以下介紹透過 PHP 及 Apache 的 .htaccess 的實現方法。PHP 如果要阻擋的 ip 不多,可以直接加上以下一行到程式頂端: 以上程式碼很簡單,只要檢查訪客的 ip 是否 192.168.1.101,如果正確則結束程式罷了,但這樣的問題是當要阻擋的 ip 數量增多時,需要每次都在以上程式碼上加上 ip,要維護很不方便。以下的方法是使用文字檔儲存了要阻擋的 ip,每一行一筆資料,檔案為 ban_ip_list.dat,實現方法如下:以上第一行是從 ban_ip_list.dat 讀入每一行資料,並儲存到 $banned 陣列內,然後用 in_array() 檢查訪客的 ip …

iPhone 備份與還原

上星期五中午就透過 DHL 收到 iPhone 6,晚上便立即從舊 iPhone 5 過 data,第一次備份 iPhone,先來紀錄一下。我沒有用 iCloud 而是用 iTunes 直接備份到電腦內,過程超級簡單:備份 1. 將舊 iPhone 接上電腦,並開啟 iTunes。 2. 在備份一欄入面,選擇 “這部電腦”,意思是將備份檔案儲存在電腦上面,按 “立即備份” 便會開始制作備份,這時會彈出是否同步備份 App, 我是選擇備份 App。我大概用了 12GB 容量,大約用了 10 …

透過 SSH 傳送檔案

在兩台主機間傳送檔案時,用 ftp 指令很方便,但另一個較為安全的做法是透過 SSH 來傳送,而且使用上十分簡單 ,只要使用 scp 指令則可。假如你要把 /home/samtang/ 目錄下所有 .php 副檔名的檔案,傳送到主機 192.168.1.100 的 /var/www/ 下面,登入名稱是 user1,可以輸入:scp /home/samtang/*.php [email protected]:/var/www/然後系統會詢問你連接密碼,輸入正確密碼後就可以傳送了,但當然用來傳送的帳號需要有合法權限在遠端目錄寫入資料。