2014-02-27 57 views
1

在我的應用程序中,我有腳本包捆綁腳本並在站點請求它們時縮小它們,我想知道是否可以阻止用戶訪問源腳本而不是捆綁和縮小的? I.E.用戶不應該能夠執行http://mydomain/script.js來訪問源腳本ASP.NET停止用戶訪問unbundled腳本

+0

FWIW我回答了這個[在這個類似的SO帖子](http://stackoverflow.com/a/21789211/1810243)...不能標記爲愚蠢,因爲沒有答案被接受......但他的主要問題是「我不希望任何人通過猜測URL來訪問我的未縮小的腳本」。 – MikeSmithDev

+0

@SilverlightFox是不會傷害找到如何做到這一點 – Steve

回答

0

應該可以限制訪問web.config中的某些資源和文件。要拒絕所有用戶的訪問到一個文件,你可以添加以下內容:

<configuration> 
    ... 
    <location path="script.js"> 
    <system.web> 
     <authorization> 
     <deny users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 
+0

這沒有工作btw – Steve

+0

您的腳本在一個文件夾,而不是您的網站的根(與您的web.config相同的水平)? 我在所有網站中都使用此功能來限制訪問未經身份驗證的用戶(使用)。我也使用表單身份驗證,但不應該保持這與拒絕所有* – Jem

+0

我試圖把腳本放入根文件夾,它不起作用。我仍然可以通過mydomain/script.js來請求腳本。如果我將路徑更改爲腳本文件夾「腳本」的路徑也不起作用 – Steve

1

把你的源腳本文件中App_Data

App_Data文件夾受ASP.NET保護,不允許任何人訪問http://www.example.com/App_Data/script.js。但是,您仍然可以從文件系統本地讀取它。

你可能需要一些修改你的代碼,以使在比源不同的URL路徑可用.js文件(因爲他們將需要從網絡,從比http://www.example.com/App_Data不同的路徑讀 - e..g http://www.example.com/Scripts