PHP 檢查及過濾字元

如果應用程式是開放給公眾使用, 過濾輸入資料的字元十分重要, 在 PHP 可以透過正規表達式做特定字元的檢查及過濾。例如想將輸入的資料裡面全部非字母/數字的字元過濾可以這樣做: 這樣會印出: this is a teting 以上 preg_replace() 用的正規表達式會將英文字母, 數字及空格以外的其他字串過濾掉, 如果想將特別符號留下, 不想要字母, 數字及空格, 可以這樣: 這樣會印出: %%%&&&

淘寶買閉路電視

今次已經是第 3 次在淘寶買閉路電視, 今次是幫朋友買, 用順豐送到香港 $1,392 人民幣, 在淘寶買價錢比香港便宜不少, 而且選擇多, 不同價位的鏡頭及 DVR 都有。兩支鏡頭, 一部連 10 寸 Mon DVR, 鏡頭支架, 20A 火牛及 100米信號 + DC 一體線.戶外用防水鏡頭10 寸 Mon DVR如果不怕麻煩上大陸, 又想試過沒有問題才比錢的話, 可以到深圳華強北買, 那裡有一個商場全部都是買閉路電視。

Redhat / Centos 7 安裝 MariaDB Server

RHEL 7 開始, MariaDB 會取代 MySQL 成為預設的資料庫系統, 以下是安裝方法: yum install mariadb-server mariadb 只要輸入以上指令就可以透過 yum 安裝 mariadb server 及 client, 現在開啟 MariaDB Server: systemctl start mariadb.service 設定開機自動開啟 MariaDB Server: systemctl enable …

MySQL binary log rotate

如果開啟了 MySQL binary log, 在 MySQL 資料目錄裡面會有很多這樣的檔案:mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 mysql-bin.000004 mysql-bin.000005MySQL 在預設情況下不會刪除舊 binary log, 可以透過設定 my.cnf 進行日誌輪替, 開啟 my.cnf, 加入這一行在 區塊內: expire_logs_days = 14expire_logs_days 是指定 binary log 保留的時間, 上面這行是設定保留 …

PHP 鎖定檔案

鎖定檔案的目的是為了避免程式間的沖突,例如開啟了一個檔案要寫入資料,但如果未寫入時有另一個程式更新這個檔案,便會出現問題,PHP 內建有 flock() 可以對檔案鎖定,操作如下:flock() 第二個參數是設定鎖定或解鎖, 詳細可設定內容為:— LOCK_SH, 取得共享鎖定, 讀取用 — LOCK_EX, 取得獨佔鎖定, 寫入用 — LOCK_UN, 解除鎖定 — LOCK_NB, 不要讓 flock() 在鎖定時堵塞

路由器安全設定

現時家用路由器十分普遍, 安裝後可以讓多台電腦同時上網, 但如果忽略了保安性, 很可能路由器被 hack, 以下是一些常用的保安設定大家可以參考一下:1. 重新設定路由器的管理密碼, 千萬不要同預設的密碼.2. 關閉路由器的 SSH/Telnet 登入.3. 把 路由器的登入端口改為 80 以外, 例如 8080.4. 如果路由器支援, 可以設定不讓外部登入 Router.5. Wifi 使用 WPA2 加密, 不要使用 WEP 加密.6. 設定長一點的 Wifi 密碼, …

[Perl Script] – 自動刪除 Apache 舊記錄檔

上一篇文章 Apache Log Rotate 設定 講述了 Apache 輪替記錄檔的方法, 但如果舊日誌一直不理的話, 同樣佔據碟碟空間, 因為 Apache 不會刪除舊記錄檔, 而且將新記錄寫入新建立的檔案, 以下 Perl Script 可以自動刪除舊記錄檔, 只要設定好記錄檔目錄, 名稱後, 放到 crontab 執行便可以了。 這個 Perl Script 會掃瞄記錄檔目錄, 並查看檔案名稱為是 access …

Apache Log Rotate 設定

Apache log 裡面包含有很多有用資訊, 包括偵測攻擊行為及正常存取量等, 但如果一直不理會記錄檔的話, 會佔用很多硬碟空間, 所以設定 log rotate 是必須的, Apache 內建 rotatelogs 工具可以做 log rotate, 實現方法如下:1. 開啟 httpd.conf, 找到 CustomLog 及 ErrorLog 的設定行.2. 例如原來 CustomLog 及 ErrorLog 寫成: CustomLog …

Redhat / CentOS 7 更改 hostname

以前的 Redhat 要更改 hostname 可以修改 /etc/sysconfig/network, 並用 hostname 指令設定等。現在 Redhat/Centos 7 用了新的方法, 只要 hostnamectl 指令便可以。檢查主機 hostname: # hostnamectl 會列出目前使用的 hostname, 要修改則要這樣: # hostnamectl set-hostname new_hostname 上面的 new_hostname 是新 hostname, 設定好後可以再用 …