Click here to
get yummy grain feed
delivered to your RSS oven

rss

  • Businesswing Design BLOG
  • Assist to join the global market.
10-2 .htaccess做系統保護

Date:一月 20, 2011 | Author:bwingnet

假如您無法修改apache的設定檔,那.htaccess檔案會是一個很好的選擇。.htaccess是一個文字檔, .htaccess 能在您架設的網站目錄內對網站伺服器產生控制作用,但是這僅限於Apache,IIS並不適用。目錄內一旦有這個檔案,該目錄與所有子目錄都會受到影響。

「.htaccess」這就是檔案名稱,是一個文字檔,你可以用各種文字編輯器編輯這個檔案,使用ftp軟體選擇「ASCII」模式上傳到目錄內。設定前請先跟系統管理員確認httpd.conf 中相關目錄的 AllowOverride 的值設定為 All,.htaccess才可發揮作用。

當您在編輯這個檔案時在不同的作業系統裡會碰到不同狀況,在Linux環境內,.htaccess是隱藏檔檔名,請您輸入「ls -a」才能顯示隱藏檔案。

若您的系統是Windows環境,請您留意Windows內預設文字檔的副檔名是.txt,而副檔名預設是不會顯示的。建議您使用NotePad++編輯,這樣儲存檔案時就得自己加上副檔名,以避免意外發生。

而 .htaccss 內設定的格式是一行一個指令,如果你的編輯軟體內設定了自動換行的話,請關上它,這樣會比較安全。

一個.htaccess可加入不同安全控管的設定,以下將分幾個小節介紹各種功能:

  1. 目錄清單保護
  2. 錯誤訊息顯示
  3. 網頁轉向
  4. 過濾IP

10-2-1 目錄清單保護

.htaccess可協助我們網站目錄的安全控管。當我們瀏覽網頁時,若沒有指定網頁名稱,通常會以index.php或index.htm等網頁內容顯示,如果我的目錄內沒有這些檔案,網頁上會將目錄內檔案以清單方式顯示,或者回傳一個錯誤訊息呢?這些可由目錄內的.htaccess內的設定決定,若沒有.htaccess,預設為將目錄內檔案以清單方式顯示。

如果您希望呈現檔案清單,請在.htaccess內加入以下資料:

Options +Indexes

+Read more

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

  Categories: 網頁程式PHP,網頁設計 | Tags: ,
        
10-1-3 網頁連結來源與接收字串判斷

Date:一月 20, 2011 | Author:bwingnet

當我們設計好網頁後,希望這個網頁是由指定的網頁連結過來,或者我們想知道使用者是由哪一個網頁上按下連結到這兒,那該怎麼做呢?PHP系統變數內提供了「$_SERVER['HTTP_REFERER']」可讓您偵測連結到目前網頁的前一個網頁的網址。如果我們設計了以下網頁,按下超連結後會連結到http_referer.php:

<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>http_referer測試</title></head><body>
<a href="http_referer.php">http_referer</a>
</body></html>

http_referer.php內的$_SERVER['HTTP_REFERER']變數會顯示什麼資訊出來?

+Read more

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

  Categories: 網頁程式PHP,網頁設計 | Tags: ,
        
10-1-2 PHP_SELF與XSS攻擊

Date:一月 20, 2011 | Author:bwingnet

這裡您會看到$_SERVER['PHP_SELF']與$_SERVER['REQUEST_URI']顯示的網頁名稱相同,那這兩者有何差別呢?$_SERVER['PHP_SELF']可以顯示網頁名稱,我們設計網頁時經常會用到,但是表單內使用,會有什麼情形呢:

<html><head><meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>PHP_SELF的風險</title></head>
<body>
<? if (isset($_GET['test']))
echo "按下了按鈕";
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>">	
<input type="submit" name="test" value="submit" />
</form>	</body></html>

php_ch10-02【圖2、網址列輸入的資料可存入表單內】

這是一個很簡易的表單,將表單的資料送給自己。乍看之下沒什麼問題,這個網頁的檔名就叫做self.php,如果我們執行網頁時在self.php後面加上/test=100,您會看到網頁執行並無產生錯誤訊息,而且當您檢視原始碼時,您可看到網頁內容為:

+Read more

Post to Twitter Post to Plurk Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to MySpace Post to Ping.fm Post to Reddit Post to StumbleUpon

  Categories: 網頁程式PHP,網頁設計 | Tags: ,
         top