為提供更優質的客戶服務
我們提供即時線上支援及查詢
MSN ONLINE
info@i-services.com.hk
公司資料

銷售及客戶服務熱線 (12:00nn-10:00pm)
8114 3362 /8114 3340

銷售查詢電郵
sales@i-services.com.hk

客戶服務電郵
cs@i-services.com.hk

技術支援服務熱線 (24 Hours)
8114 3340

技術支援服務電郵
tech@i-services.com.hk

本公司傳真號碼
2387 2186


Q1 : 我可以自行設定CGI互動程式語言嗎?
Q2 : PERL的解譯路徑是什麼?
Q3 : 絕對路徑是什麼?
Q4 : 我需要指定CGI程式的副檔名嗎?
Q5 : CGI是否需要在指定的資料夾才能執行?
Q6 : 我要如何設定CGI程式的執行權限?
Q7 : 什麼是獨立執行權?有何重要?
Q8 : PHP的權限設定跟CGI程式相同嗎?

Q1 : 我可以自行設定CGI互動程式語言嗎?

我們無限制讓客戶在服務器上自行架設互動程式語言,客戶可以在網絡上下載或自行撰寫程式,
唯互動程式可能涉及安全性問題這點客戶需要自行考慮其使用風險!

Q2 : PERL的解譯路徑是什麼?

PERL 解譯路徑:/usr/bin/perl
這個設定於多數PERL-CGI程式的第一行展示,設定為:#!/usr/bin/perl

Q3 : 絕對路徑是什麼?

伺服器主機的絕對路徑為:/usr/home/hosting/您的ftp帳號或者是./您的ftp帳號,請根據您所使用的PERL-CGI程式來設置。

Q4 : 我需要指定CGI程式的副檔名嗎?

是的,只有副檔名為【*.cgi】或【*.pl】的檔案才會被視為CGI程式來執行。
請註意檔案名必須要為細階寫法,如錯誤命名為【*.CGI,*.PL】等程式都不能運作的。

Q5 : CGI是否需要在指定的資料夾才能執行?

是的,為保障閣下的程式源碼不會被非法竊取,所有CGI的程式必需在/cgi-bin/內才可以順利運作, 絕對路徑為/usr/home/hosting/您的ftp帳戶/public_html/cgi-bin/
如果不在這個資料夾執行CGI程式將會出現 500 INTERNAL SERVER ERROR字樣。

Q6 : 我要如何設定CGI程式的執行權限?

由於我們的伺服器設定了高保安系統保障客戶程式及其他資料,所以我們伺服器主機上的CGI程式將會以獨立執行權來運作!

一般而言,CGI程式都付有安裝說明,會清楚列出執行程式時需要之權限應該類似以下的設定:

一些沒有獨立執行權的伺服器主機設定
權限644,為只讀不可寫之執行權限
權限755,為執行檔所需要之權限
權限666/777,為可讀可寫及資料儲存檔案

我們的主機設定
權限700,所有執行檔案,記錄檔案之權限
權限755,所有資料夾之權限

重要!!!如果權限設定錯誤程式將可能不能正常運作!!!
如果需要支援請來電查詢。

改變權限可用FTP的CHMOD功能實現。

Q7 : 什麼是獨立執行權?有何重要?

保障客戶在伺服器上的資料,我們在伺服器上設定了互動程式的獨立執行權, 雖然設定獨立執行權是一項十分復習的工作,但這個是一個保護人客資料安全十分重要的環節。

要說明什麼是獨立執行權,需要先講解有關伺服器主機的權限。

每一個客戶都會擁有一個獨立的FTP帳戶,可以有權限上載所需程式或網頁到服務器上以供網絡使用者瀏覽, 上傳到服務器主機上之後,每一個檔案及資料夾都會被設定一個檔案使用權限, 這個權限可由檔案擁有者(即上載檔案的FTP帳戶)作出更改,以3個數字形式表示出來,常見的如下:

444 644 666 755 777

這些數字組合代表了什麼?讓我們作出以下解說:我們拿一個假設權限作例子,權限755

第一個數字,7,是擁有者的權限
第二個數字,5,是相同用戶組的權限(其實這個不重要,因為理論上所有使用者都會在不同的用戶組)
第三個數字,5,是所有用戶的權限

先說明不同數字所代表的不同權限
權限 0,不能讀取,完全沒有權限
權限 4,可讀取檔案或資料夾權限
權限 5,可執行檔案或瀏覽資料夾權限
權限 6,可讀取,執行,及修改權限
權限 7,所有權限(包括取得檔案權有權)

以上例子,755,其實就代表了
檔案及資料夾擁有者(即FTP帳戶)可對檔案擁有所有權限
伺服器上與擁有者屬同一用戶組的用戶有執行檔案權限
伺服器上所有用戶都有執行權限

如果將檔案設成666/777,
即代表所有伺服器主機上的用戶都可以對檔案進行修改,執行,甚至改變檔案擁有權!!

可能您會覺得奇怪,為什麼一般保安程度比較低的服務器,需要把程式設定為755/666/777等權限CGI才能正常運作呢?
其實網頁伺服器執行時,會預設所有瀏覽網站的使用者為同一虛擬帳戶(通常稱為GUEST),假設123.COM經FTP上傳了CGI程式,456.COM亦都上傳了CGI程式,於網頁伺服器執行,有訪客瀏覽123.COM,網頁伺服器會把執行該CGI程式的帳戶假定為GUEST來執行123.COM內的程式,如果有訪客瀏覽456.COM,網頁伺服器亦一樣會將該訪客定義為GUEST帳戶去執行456.COM內的程式,說到這裡就說明了為什麼一些保安技術設定不足的伺服器,需要777等權限(開放給所有用戶都有執行權)才能讓CGI程式順利執行。(因為用戶的帳號跟GUEST的帳號明顯地有分別吧!)

或許您會問,開放檔案的權限給所有主機上的用戶有什麼問題呢?其實問題是十分嚴重的,試想一下, 如果在同一伺服器上有其他的使用者架設出錯,絕對路徑設定了在您的資料夾上,(/usr/home/hosting/您的ftp帳戶/public_html/cgi-bin/)
而你那些資料又儲存了密碼檔案(例如留言板用戶密碼,MYSQL連接密碼等),開放了檔案權限,要是有其他使用者想取得程式源碼都可以的,那麼,您的密碼檔案是完全沒有保障了!! 沒有專業技術的設定伺服器上所有不同用戶的檔案,都可以讓其他用戶任意讀取,修改,甚至取得擁有權。

有見及此,我們對網頁伺服器作出了專業的調整,來自不同網站瀏覽的使用者,不會定義為GUEST, 我們會將其定義為不同獨立執行用戶,客戶就不需要開放檔案權限, 設定為所有使用者都有執行權都可以順利地運行CGI程式,有了這個專業設定,您的程式檔案只需設定為700,就算其他使用者CGI設定錯誤,由於各自權限及執行身份都不同,不能存取屬於您的檔案,那麼,客戶就不需要擔心資料的安全問題了!!

Q8 : PHP的權限設定跟CGI程式相同嗎?

CGI (COMMON GATEWAY INTERFACE)所指是互動程式,現時網上流行用PERL撰寫程式之後存檔為*.CGI

其實CGI程式意思解作互動程式,PERL-CGI是其中一種比較多人選用的CGI,PHP也是其中一種CGI程式,在權限設定上都沒有分別。