ASP.NET網站發佈-允許更新此預編譯站點 .

 from:

http://sm0210.blog.163.com/blog/static/51839100201072692211926/

在打開的對話框中,有一個選項是至關重要的,那就是“允許更新此預編譯站點”;

  “允許更新此預編譯站點”這一項,默認情況下,前面是打上一個√的,至於要不要打上一個√,是可選的,那麼,打勾與不打勾,有何區別呢?

  也許大家都曾經發布過net網站,一般情況下,網站項目中的所有CS文件,會自動生成一個DLL動態鏈接庫,這就能夠很好的保護網站的源代碼,因爲代碼一般都是放在CS文件裏面的,既然都生成了DLL文件,那麼,上傳到虛擬空間,別人就不能打開來看了!

  但是,其它的文件,諸如ashx、aspx等文件,裏面原來有什麼,就是什麼,別人可以打開這些文件來查看,儘管別人看不見CS代碼,但是仍然能夠看見ASPX文件裏面的HTML代碼或部分服務器控件及相關的屬性;

  還有,ashx這樣的文件,就相當於一個cs文件,裏面的代碼也是能夠看見的。

  因此,cs文件倒是安全了,但是網站中的ASPX、asxh等文件,是不安全的;對於整個網站而言,只有局部的安全,而沒有整體的安全。

  那麼,到底有沒有一種辦法,讓上傳到虛擬空間的網站文件,都安全呢?方法是有的,通過“允許更新此預編譯站點”這一項前面的√,就能實現;

  ①給“允許更新此預編譯站點”打√


  如果您給此項打勾,然後發佈網站,那麼,結果是這樣的,整個網站文件,除了所有的CS文件編譯成爲一個DLL文件之外,其它的文件,和原來的沒有任何變化,裏面是什麼,還是什麼,只要別人通過記事本一打開,裏面的代碼、HTML代碼等,都可以讓別人一覽無餘。

  除此之外,通過此種方式發佈的網站,當用戶第一次訪問某個頁面的時候,需要經過編譯,查找BUG,之後,如果沒有任何錯誤,才能正常訪問,因此,速度會變得比較慢。(第二次、第三次……訪問,速度就正常了)

  ②取消“允許更新此預編譯站點”前面的√

  如果您在發佈網站的時候,取消了“允許更新此預編譯站點”前面的勾,那麼,結果是這樣的:

  1、網站裏面的所有CS文件,都被編譯成爲一個DLL文件;

  2、除了cs文件,其它的文件,諸如ASPX、ASHX等文件,也一同被編譯起來,每個文件都在BIN目錄裏面生成一個對應的*.compiled文件;

  之後,如果您通過記事本查看ASPX、ASHX等文件,裏面不會看到任何的代碼,就連HTML代碼標記都看不見,打開這樣的文件,裏面只有一行文字,內容爲“這是預編譯工具生成的標記文件,不應被刪除!”

  但是,網站的訪問卻是正常的,不會出現任何不良的問題。

  所以呢,使用這種方式發佈網站,什麼文件都不能通過記事本打開,裏面顯示的都是一行文字,因此,網站文件就非常安全了。

  此外,通過此種方法發佈的網站,所有內容都編譯好了,打開的速度是很快的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章