[FreeBSD] 無線網卡架設AP Server DWL-G520 Ralink RT2561

今天終於搞定了這張網卡,同樣的 DWL-G520 有兩種版本,一個是 Atheros 另一個就是大廠 ralink 了,不過話說我自己已經把 Atheros 晶片的無線網卡實做過一個ap server了,其實也不難啦,不過之前在搞 ralink 的晶片的時候,是可以驅動,可是就是弄不起來ap,後來怎麼解覺得呢,那就是換freebsd的版本,我之前是在 FreeBSD 6.2 release 底下弄的,我換到 FreeBSD 6.2-STABLE-200709版本,就馬上抓到,然後就進行ap的架設,後來就成功了,相當爽,畢竟可以繼續惡搞其他東西了。 接下來教大家如何安裝了,系統配備如下

  • 硬體:i386 PC Intel P4 1.6G
  • 記憶體:256M RAM
  • 網卡:2 片網卡 ( 一般 100M 網卡 + 一片 D-Link DWL-G520 54G無線網卡 )
  • 作業系統:FreeBSD 6.2 Stable
[Read More]

[FreeBSD] 安裝 memcache for php 多重伺服器共享 Session

今天來玩看看 memcache 看看,話說 memcache 是個非常好用的東西,可以參考官網作法 連結,其實我在前一個工作,就有老闆問我說,像公司作這麼多網站,有沒有辦法統整成一個,然後底下各種服務,只需要登入過一次就好,而不必重複登入,畢竟會讓使用者覺得很煩,所以就有了 memcache 這東西出來,底下就來介紹 FreeBSD 的安裝方式

  • 安裝方法: 安裝 ports 的套件 memcache 跟 pecl-memcache
cd /usr/ports/databases/memcached; make install clean
cd /usr/ports/databases/pecl-memcache; make install clean
然後他會把 extension=memcache.so 寫到 /usr/local/etc/php/extensions.ini 然後你只需要重新啟動 apache 即可,還有把 memcached 服務打開 所以請下底下指令
echo "memcached_enable=\"YES\"" >> /etc/rc.conf
/usr/local/etc/rc.d/memcached start
/usr/local/etc/rc.d/apache22 restart
[Read More]

[Apache] mod_bw 頻寬下載限制

自己在站內有寫一篇 [apache] mod_cband 頻寬限制,不過這套好像沒有真對網站用 header「[PHP] header下載檔案 搭配資料庫」 吐出來的下載方式做限制,只能針對單存下載的連結做限制,所以自己爬文了一下,又找到了 Bandwidth Module 這個套件,Banwidth官方網,目前出到 mod_bw v0.8 說明檔。 底下是針對 FreeBSD 安裝方式,所以其他安裝方法就參考上面的說明檔了 cd /usr/ports/www/mod_bw/ make install clean 上面這樣就安裝好了,再來就是設定 mod_bw 了 BandWidthModule [On|Off] apaceh 預設是關閉的,所以請把他打開 BandWidthModule on ForceBandWidthModule [On|Off] 這個設定預設情形,他不會對每個要求限制,如果你把他打開,他就會對每個要求做限制 普通要求:AddOutputFilterByType MOD_BW text/html text/plain 打開設定:ForceBandWidthModule On BandWidth [From] [bytes/s] 這個設定有2個參數,第一是from,第二是速度,第一你可以用整個ip位址,或者是network mask例如:192.168.0.0/24 or 192.168.0.0/255.255.255.0) or all。最後的all就是全部皆可,不限制 BandWidth localhost 10240 BandWidth 192.168.218.5 0 上面針對 localhost 給 10KB的速度,然後針對 192.168.218.5 不限制速度 在版本0.8還可以針對client端的瀏覽器做限制 BandWidth u:[User-Agent] [bytes/s] 你可以利用正規語法比對client端瀏覽器 BandWidth “u:^Mozilla/5(.*)” 10240 BandWidth “u:wget” 102400 還蠻不錯的功能 [Read More]

[SQL] 隨機選取資料 (MSSQL,ACCESS,MYSQL)

這個功能還蠻需要的,底下就是三個例子 以下方法,可以幫助隨機取得廣告資料、最新消息等,隨機產生資料。 使用 SQL 語法的 TOP n 來指定取得筆數,再用 ORDER BY 的方式,來亂數取得資料,並排序。

MS SQL:SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY NEWID()

ACCESS:SELECT TOP 1 * FROM Table WHERE 條件 ORDER BY RND(數字欄位名稱)

MYSQL:SELECT * FROM Table ORDER BY RAND() LIMIT 1

http://blog.xuite.net/jameschih/java/8308864

[Html] javascript 好用的時間日曆表

其實我這是從 opensource 拿出來的,我是去看 xt:Commerce 裡面的後台,我看到把他拿下來的,其實還蠻好用的喔,我把他下載下來,給大家下載 日曆 下載下來之後,把他解壓縮,然後看你要放到哪裡,然後寫一個普通html,程式碼如下


  
  


上面的可以看,下面這個連結

calendar.txt 如果要看結果,可以去官網看 http://www.geocities.com/bazillyo/spiffy/calendar/index.htm 或者是我寫好的,可以看看 線上測試

[PHP] 善用 ignore_user_abort() 函式

話說最近在為了上傳圖片經過縮圖的時間來煩惱,只不過我在想,為甚麼我上傳圖片還要等待縮圖時間才可以,然而無名小站,只需要上傳時間,縮圖是在它機器背景執行,後來發現一個函式非常好用,那就是

ignore_user_abort(true);

http://tw2.php.net/manual/tw/function.ignore-user-abort.php 無名在上傳圖片的php檔案,肯定有加上這個函式,他的好處是使用者如果關掉瀏覽器,但是php還是會繼續執行,也就是無名可以把檔案上傳之後,重新導向到使用者的相簿,程式可以如下

ignore_user_abort(true);
set_time_limit(0);
for($i = 1; $i < 6; $i++){
if($_FILES['userfile' . $i]['size']){
/*
上傳圖檔寫在這裡
*/
}
}
//上傳好導向相簿
if($_POST['mode'] == 'add'){
header("Location:index.php");
}
/*
然後這裡在進行縮圖,他就會在背景中執行
*/
if($_POST['mode'] == 'add'){
for($i = 1; $i < 6; $i++){
convert_sh($upload_floder,$file_name[$i],$small_size[$i]);
}
}
?>
其實 ignore\_user\_abort(true); 根本就是變相的 unix 底下的 crontab ,還蠻好用的,好處很多,不過用的地方要注意就是了,並不是每個php檔案都需要用這個函式。
php 

如何擋掉 google, 大陸百度 搜尋引擎

發現google實在強了,他不只可以讓你網站曝光,如果你上傳一些重要的檔案放在網路上,只要沒有經過帳號密碼的機制,讓google知道你的絕對路徑,那個檔案就完蛋了,因為google還會暫存到他的機器,順便還幫你轉成 html ,夠屌了吧,所以我認為唯一最終解決辦法,就是自己寫一隻下載檔案的function,然後下載檔案都要透過該程式然後在header出來,這樣才不會被google弄到檔案,囧。 當然要如何擋掉搜尋引擎,方法如下,在自己網站底下新增 .htaccess #擋掉百度 SetEnvIfNoCase User-Agent “^Baidu” bad_bot SetEnvIfNoCase User-Agent “^sogou” bad_bot SetEnvIfNoCase User-Agent “^Bloghoo” bad_bot SetEnvIfNoCase User-Agent “^Scooter” bad_bot Deny from env=bad_bot #擋掉google SetEnvIf User-Agent “^Googlebot” google Deny from env=google 其實還有另外一種方法,那就是用 robots.txt 如何攔截 Googlebot?,這個方法也不錯 擋掉的結果如下: 66.249.70.107 - - [20/Jun/2007:15:30:11 +0800] "GET /store/market_list.php??bid=&year=2009&month=10 HTTP/1.1" 403 999 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 61.135.162.53 - - [20/Jun/2007:14:41:00 +0800] "GET /web/news_show.php?bid=30&newsid=189&list= HTTP/1.1" 403 1003 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)" 看到 403 就對了,不過會看到比較多百度的 可以參考底下這篇討論,相當不錯 [求助]Bot 如果要測試的話,可以利用 fx 的 user. [Read More]

[PHP] 日期函數『搭配javascript』

剛剛發現一個好玩的函數,用在購物車的時候,可以選擇發表團購日期,跟結束日期,下面我是設定發起日後14天之內要下架,還不錯用 大家參考看看吧,其實做出很多功能,大家修改函數就可以了 function jmp2_date_ex($str,$str1,$str2,$sy,$ey){ global $$str; $$str=str_replace("-","/",$$str); $nextWeek = time() + (14 * 24 * 60 * 60); $sy=date(“Ymd”); $ey=date(“Ymd”,$nextWeek); echo “”; ?> <? } [/code]

[Apache] 使用者只能使用 https 進入 mod_rewrite force ssl 進階設定

最近館內機器我想全部使用上ssl機制會比較安全,之前剛來到 國史館台灣文獻館 的時候,有研究助理對我不爽,說什麼我開發的薪資管理系統,沒有ssl機制,會出現漏洞,囧導至系統目前只有我在用,哈哈,不過這不是重點重點是接下來的介紹啦 首先要看看你的機器是否有支援 mod_ssl 目前我用的機器是 CentOS 4.4 所以指令如果有所改變,請自行debug

cat /etc/httpd/conf/httpd.conf | grep rewrite LoadModule rewrite_module modules/mod_rewrite.so 這樣代表有支援了,那如果沒有支援呢,請用下面指令來新增

yum install mod_ssl

[Read More]

[FreeBSD] postfix + auth smtp + anti-UCE 詳細設定

自從考上中正電機「94年考上」之後接上 中正電機 郵件伺服器網管工作,目前 中正電機 已經把網路組歸到 中正通 訊底下了,所以我已經不再是 中正電機 了,目前是以 中正通訊 的身份,不過目前我休學狀態,還在服兵役當中,在南投 國史館台灣文獻館 底下工作。我是在入學 中正電機 研究所的第一個學期末就已經休學了,目前已經快退伍了。

[Read More]