[PHP]解決網站被 SQL injection 攻擊

其實這個安全性的問題,在目前台灣網站都存在這樣的問題,大家平常用 $_POST,$_GET 用得很順利,但是沒有想過帳號密碼被 SQL injection 破解,當網站被破解了,基本上你損失就是相當嚴重,網路上也有很多攻擊方式,不過這方法是最常被拿出來講的,我自己有一套解決方式,除了比較重要的地方,就是輸入帳號密碼的地方要加強防護之外,加上數字驗證碼,還要 check 帳號的特性,我底下是我驗證帳號密碼機制
    if($user_name == '' || $user_passwd == ''){
    	ErrMsg("帳號或密碼不得空白");
    }
    if (!preg_match('/^\w+$/', $user_name)){
    	ErrMsg("請勿攻擊本站台");
    }
Continue reading “[PHP]解決網站被 SQL injection 攻擊”

[FreeBSD & Linux]網站分流:簡易架設 HAProxy 伺服器

最近在玩這套 Web 的 Load Balance 軟體,其實這是之前我寫的一篇:[筆記] FreeBSD 一張網卡多重 ip 實現 Round Robin DNS Load Balancing,有網友留言給我說可以玩看看 HAProxy,這樣的確改善了很多效能,而且也是正確達到 load balance 的效果,不然用 DNS Robin DNS Load Balancing 的方式的卻沒辦法做的很好,關於 HAProxy 在 google 了一下,好像國內很少人在寫這方面的教學,我自己來寫一下筆記好了,其實我還不是對設定很熟悉,只是大概知道他的原理罷了,底下我們來看看官網的一張圖 haproxy-pmode Continue reading “[FreeBSD & Linux]網站分流:簡易架設 HAProxy 伺服器”

[FreeBSD]解決swap不夠的情況:Add Swap Space

最近在使用 FreeBSD 架站,apache + MySQL + PHP,但是最近常常會吐出來 swap 不夠的情形,然後系統就會吐出下面訊息
Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(7): failed Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(16): failed Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(2): failed Jun 19 20:59:57 backup kernel: swap_pager_getswapspace(5): failed
目前上網看到的解決方法,都是增加 swap 的容量,那底下是在 FreeBSD 下面得作法: Continue reading “[FreeBSD]解決swap不夠的情況:Add Swap Space”

基本優化 tuning apache 跟 tuning mysql 跟 php 效能

最近在玩優化 Apache 跟 MySQL 部份,然後就在 google 上面找一些資料,當然對我自己的網站當然改變不少,速度有增快許多,所以來紀錄一下,其實都是還蠻基本的改 config 檔案就可以了 1. apache 部份 for FreeBSD
#
# 利用 ports 安裝
# 在安裝 Apache 時,加入此參數 WITH_MPM=XXXX 即可。 
#
cd /usr/ports/www/apache22 ; make WITH_MPM=worker install clean
如果是要裝在 Linux 機器的話,可能要自己編譯,在 Apache 2.0 有很多效能上得改變,所以原本預設是 prefork
#
# 編譯加上 
# 
./configure --with-mpm=worker
在 Ubuntu 底下作法很奇怪,利用 apt-get 方式不能安裝 mpm worker,因為你安裝 php 的時候他會幫你移除,然後裝上 prefork,所以很奇怪,這部份我還不知道怎麼解決。 Continue reading “基本優化 tuning apache 跟 tuning mysql 跟 php 效能”

[教學]修復 Windows 的開機磁區各種方法

如何恢復 Windows 開機磁區,我想這是玩 Linux 跟 Windows 多重作業系統會碰到的問題之一,也是大家最頭痛的問題,當然其實方法很解決,沒有想像的那麼困難啦,只是大家安裝完 Linux 之後,然後砍掉他們的磁區,就會造成開機 boot loader 讀不到資料,所以造成 grub 的錯誤,那可以參考鳥哥那邊的作法,當然首先要瞭解:磁碟檔案系統,然後再去瞭解 Boot Loader: Grub,當然本篇試教您如和清除開機MBR,恢復 windows 系統的 boot loader。 方法一:利用XP光碟片還原 放進去XP的原版光碟,隨便一種XP光碟即可,只要能原始安裝即可,畫面中按 R 或 F10 進入「Windows 修復主控台」,當然進去之後,她會偵測到目前的系統 C:\\windows 之類的,她會詢問密碼,就直接按 enter 即可,然後打入 fixmbr 然後按 Y 確定就可以了 Continue reading “[教學]修復 Windows 的開機磁區各種方法”

[Linux筆記]如何製作多重開機 grub

昨天晚上原本要看 paper 的,可是幫同學處理安裝好 Fedora 7 的時候出現底下問題:
Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename grub>
其實我自己也不知道安裝好為啥會出現這個,電腦裡面三顆硬碟,兩顆 SATA 一顆 IDE,然後用光碟開機的時候分別是 sda sdb sdc 三顆,所以安裝好之後通常會把 sda mbr 寫入開機訊息,照道理說這樣就可以開機了,可是目前看來是不行,後來是重新安裝了 mbr 我把她安裝到 IDE 那顆硬碟,底下先轉貼開機 mbr 磁區介紹:
在硬碟最最最開始的磁區叫MBR(Master Boot Record),這是MicroSoft的正式稱呼! 有些人叫它Pre-Boot磁區或Pre-Load磁區. MBR (512 bytes)can be divided into 3 parts: (1) 前面446bytes為開機程式(即Pre-Boot程式),實際只用約200bytes (2) 接著的64bytes就是partition table,每16bytes代表一個logical HD (3) 最後2bytes一定是 55 AA (十六進位) FDISK/MBR 就是把前面446 bytes 換成乾淨的Pre-Boot 程式! 它絕不會動後面的66bytes!!! mbr位於硬碟第0軌,長度為512位元組內含偵測active partition的程式及 長64位元組的partition table(16 bytes * 4 partition records) 每一partition record紀錄partition的起始位置,是否active及os type 從這裡決定要用哪一個partition開機(active partition)
文章轉錄自: http://www.pczone.com.tw/vbb3/archive/t-20579.html Continue reading “[Linux筆記]如何製作多重開機 grub”

[生活日記]中正大學剪頭髮

Click to view full size image 這次不爽給外面的剪了,因為上次剪得我不是很滿意,詳情看這裡:[生活日記] 四月底剪頭髮,我都是差不多一個月剪一次,然後都是去中正大學外面剪髮:180元,但是有時候剪得好看,有時候剪得不怎麼樣,上次就是一個不好的例子,不過學校剪髮真的很鳥,看起來就是不太會剪,然後我剪頭髮的時候,還是我在跟他說這裡怎樣剪會比較好,Orz ,不過最後有達到我的要求啦,哈哈,真爽,下次就都在學校剪就好,學校價錢:120元,比較便宜,哈哈 Continue reading “[生活日記]中正大學剪頭髮”