alexyu提到:
一般使用者
當使用者透過網站伺服器(IIS, Apache, Nginx, Tomcat,...)要存取ASP, PHP, JSP,...等檔案時, 網站伺服器會轉交請求給解譯系統, 如ASP.Net, 各種FastCGI代轉,...等, 加上網站伺服器會管控目錄存取權限, 所以"一般使用者"並無法直接取得未解譯的上述檔案, 除非網站存在故意與非故意的安全問題, 如權限控管出錯, 伺服器漏洞,...等.
ASP/PHP/JSP
這些類型的檔案,都是一種 CGI 檔案,目的是為了可以動態產生內容,讓使用瀏覽器的 client 端,可以依不同帳號、權限,看到不同的內容。
為了讓它是<動態>效果,所以是使用者連過來取內容的時候,才執行這些程式並產生內容給 user 看。關鍵來了,要執行,才算正確。如果不執行,直接把程式當內容傳回去,那就是出錯了。通常這樣的問題叫設定錯誤、或系統漏洞。
所以排除設定錯誤,以致程式沒執行,而是丟出程式本身的原因之外,client 理應不會有任何管道可以透過瀏覽器,把ASP/PHP/JSP程式碼抓回去,除非刻意設定程式碼可下載。
當然啦,如果站台有其它連線管道,FTP, SSH, ...等等,有帳號的人,或者駭進來的人,當然還是可能把程式碼下載回去。