Apache mod_rewrite啟用注意事項
雖然已經對Apahce 的 mod_rewrite有一定的瞭解,但還是常卡關
最近有發生在某一個Virtual Host設定了rewrite的機制,但.htaccess怎麼試都沒有效果,後來才知~要將目錄設定如下才能啟用
Options FollowSymLinks
AllowOverride All
</Directory>
印象中卡關好幾次的原因都是它,所以在此寫下提醒自己~^^||
雖然已經對Apahce 的 mod_rewrite有一定的瞭解,但還是常卡關
最近有發生在某一個Virtual Host設定了rewrite的機制,但.htaccess怎麼試都沒有效果,後來才知~要將目錄設定如下才能啟用
印象中卡關好幾次的原因都是它,所以在此寫下提醒自己~^^||
最近碰到一個案例,他的網站已運行好年之久但一直都沒有進行安全更新,導致上頭經年累月的被植入不少木馬程式,例如超級PHP木馬帶批量掛馬,及WEBSHELL, 真是有夠給他慘的啦,搞的整個網站像駭客練功的活靶,雖然砍掉重練好,但還是有些因素要救活他,所以首先要先除掉這些東東~可藉由一些工具例如PHPCMS木馬掃瞄器或是php 木馬, 惡意程式查殺工具,然後再將他的apache及php升級並加上mod_limitipconn及mod_bandwidth然後進行PHP的設定,防止php木馬執行webshell,打開safe_mode,並在php.ini中中disable_functions設定
也可再增加防止php木馬讀寫文件目錄
在php.ini中disable_functions後面加上php處理文件的函數,如包含剛剛設定的就要變成以下設定
disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir
,fopen,fread,fclose,fwrite,file_exists
,closedir,is_dir,readdir.opendir
,fileperms.copy,unlink,delfile
大功告成,php木馬就無法拿我們執行一些系統程序了
不過還有一點要設定的,網頁程式有時會寫一些上傳程式給會員及非會員使用,如果上傳上去程式碼能再被執行就糟糕了,所以除了上傳上去後更改檔名~如遇到副檔名是PHP就更名外,以下這招也是不錯的選擇
我們可以設定不讓上傳的目錄執行PHP,可在Apache的httpd.conf設定以下參數值:
如果你只允許你的php在web目錄裡操作,也可以在httpd.conf中加上
這樣如果有要使用這個之外的檔案時就會有錯誤訊息 Warning: open_basedir restriction in effect. File is in wrong directory in xxxxxxx
這樣基本木馬及WEBSHELL就防止了,但在測試發現,或許已經中太久了,可能已經成為駭客界的教學教材,三不五十的就是有人會丟一些怪網址TRY漏洞,多半都是對岸來的,真是煩呀~!!
發現這種怪連結一多,還蠻佔資源的,所以做了一個小小的rewrite設定,來防止這種怪連結,因為這個網站本身沒有用rewrite,所以在.php後有加上斜線的怪連結就轉到國家資通安全會報技術服務中心,呵~直接轉過去通報
OK~經過這樣的設定後,觀察幾天後看來有用~~希望各位駭先生能就此放過它吧!!
參考資料:
因為前陣子改版了部落格,所以對apache mod_rewrite有更多的認識,因為要將舊版的部落格連結相容可連至新版的wordpress,所以花了不少心力去調整網址的對應,在此分享一下~給有需要的人少一點摸索的時間
以上這是去找來的,blog最討厭就是那種垃圾廣告,加了上面這些,應該能阻擋一些簡單的垃圾機器人吧,再來下面這段,是我將重複的簡略後的內容,主要就是在進行一些網址的轉換
因為在這次也將原本以http://herolin.mine.nu為主的網址,改成以http://herolin.webhop.me為主,因為http://herolin.mine.nu好像蠻多地方都有被擋~所以還是改成用另一個為主要的網址,所以上述就是在做301的轉址~以便http://herolin.mine.nu還能連到部落格~並且又不會讓搜尋引擎認為你故意弄兩個一模一樣的網站!
再來這段就是針對舊的部落格有些連結和新版的無法對應,所以用這樣對應的方式進行對應,注意,如果你的網址有中文字,而你要將中文字寫到.htaccess裡,記得你的.htaccess要存成UTF-8格式並且是沒有BOM的就可以啦
最後這段,是因為分頁的網址寫的不一樣,所以要再進行調整將參數轉換成新版的靜態網址,這期間TRY了很多也參考了很多資料才弄出來,mod_rewrite真的是很強大,除了上述轉址之外還可以設定cache及傳輸壓縮,有興趣的可以參考以下連結,有更多的介紹及說明。
最後,提醒各位一點,當你寫好你的.htaccess時一定要備份一下, 因為wordpress在設定固定網址時會將.htaccess初始化,小弟就忘了備份,所以又多花了一些時間重摸索,切記切記呀!!
參考資料:
最近工程師在使用SVN遇到了一個鬼問題,沒想到是這樣的解法
就是在SVN commit 時發現了Exception :
org.tigris.subversion.javahl.ClientException: RA layer request failed svn: (details follow): svn: applying log messCommit failed age to /svn/cis/!svn/wbl/xxxx/11359: http://xxxxxxx/svn/cis/!svn/wbl/xxxxx/11359: 500 (status) -> Could not execute PROPPATCH. (http://xxxxx:8800)
解決辦法:將commit時的註釋中間的換行都去掉即可排除,真的見鬼了吧@@
參考資料:http://www.javaeye.com/wiki/topic/766056
在最近升級PHP至5.3後,發現都會有一個警告
去查了一下才知,原來PHP 中最具爭議的變化就是從 PHP 4.2.0 版開始配置檔中 register_globals 的預設值從 on 改為 off 了,而在5.3版本後就會顯示警告,但還是能開啟使用,但在PHP 6 之後就會全面停用。
哈~因為有register_globals,所以小弟覺得各家程式語言之中,PHP最強大,因為程式隨便寫都能執行~^^||
也可以設定成不用接參數,到了下一頁自動會轉成變數,這對開發者來說是省了不少功夫,不過也是因為如此,所以程式就不夠嚴謹,而且還會有安全性的問題,所以還是乖乖使用比較正統的方式寫CODE 吧 ~><~
註:如果想知道為何會不安全,請看以下連結說明:
除了 register_globals之外,當然也還有幾個參數也準備廢除,如下:
magic_quotes_gpc這參數也頂棒的~可以不用去管是不是要加反斜線~唉~這也是安全性的考量要拿掉嗎? 怪的~去查了一下,拿掉主要因素不一樣啦~~是因為會影響程式造成可移移植性低、效能問題及容易造成困惑,詳細請看以下的文章:
不過這些參數,舊程式蠻都有介由他們進行自動轉換,沒了程式不就要大改了..呵~~好在還有偷吃步的方式,在 register_globals=Off的情況下,還是可以用以下程式碼達到同等效果。
這樣只要加到會include的共用頁這樣就升級程式支援該參數被關掉了~^^
而magic_quotes_gpc被關掉也有解法,有興趣的人可以看剛剛上面那個連結,只是沒這個好改了!!
近期留言