Posted in FreeBSD, Linux, apache, www on Aug 20th, 2007
自己在站內有寫一篇 [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
還蠻不錯的功能
MinBandWidth [From] [bytes/s]
BandWidth all [...]
Read Full Post »
Posted in apache, php, www on Jun 22nd, 2007
話說最近在為了上傳圖片經過縮圖的時間來煩惱,只不過我在想,為甚麼我上傳圖片還要等待縮圖時間才可以,然而無名小站,只需要上傳時間,縮圖是在它機器背景執行,後來發現一個函式非常好用,那就是
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檔案都需要用這個函式。
Read Full Post »
Posted in Linux, apache, www on Jun 20th, 2007
發現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" <font color='red'>403</font> 999 "-" "Mozilla/5.0 (compatible; <font color='red'>Googlebot</font>/2.1; +http://www.google.com/bot.html)"
<br />
61.135.162.53 - - [20/Jun/2007:14:41:00 +0800] "GET /web/news_show.php?bid=30&newsid=189&list= HTTP/1.1" <font color='red'>403</font> 1003 "-" "<font [...]
Read Full Post »
Posted in Linux, apache, php, www on Mar 22nd, 2007
最近館內機器我想全部使用上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 Full Post »
Posted in Linux, Network, apache, windows on Jan 22nd, 2007
這個MODULE相當好用,這個可以用來解決架設APACHE頻寬問題
安裝方式:
For Linux:
先去下載軟體: mod_cband 目前釋出到 0.9.7.5版
下載到 /tmp/ 資料夾裡面
解壓縮: tar -zxvf mod-cband-0.9.7.5.tgz
如果你有安裝 apsx2的話 請用下面安裝
$ cd mod-cband-0.9.7.5
$ ./configure
$ make
$ make install
[...]
Read Full Post »
Posted in FreeBSD, Linux, Network, apache, windows on Jan 18th, 2007
目前管理 國史館-台灣文獻館,幾台檔案伺服器
裝了 快 1000萬的數位話檔案,如果將來對外開放,將會造成大量被下載
所以我列了下面幾個保護裝置,目前用在館內,我弄了幾個軟體去下載,果然已經被阻擋了
網頁伺服器要支援REWRITE功能
Read Full Post »
Posted in Network, apache on Dec 3rd, 2006
PTT 的 php版 有人問到
如何在URL隱藏'.php'
有時候會看到一些網站的URL沒有後面的.php .jsp .xxx
自己加上去反而無法開啟
像
http://www.google.com.tw/search?hl=zh-TW&q=abc
讓人無法得知該網站是使用哪種語言開發
請問要如何隱藏
我想這對網站的安全性應該有一些幫助
謝謝回覆
以下是我的回覆:
這是利用 mod_rewrite 作法達到的,其實不只隱藏 後面的php而已,還可以你隨便取呢
在根目錄底下新增 .htaccess[這個必須你的server有支援才行,有的不會讓你新增此檔 ]
然後在該檔裏面 寫下
Read Full Post »