1

我有一个问题,我需要限制用户使用 url 从我的网站下载静态文件,如 .css 和 .js 文件。因为我已经创建了一个 httphandler,并且我已经编写了一些代码来将请求重定向到我的登录页面。它成功阻止了对 .js 文件的请求,但同时它不允许我的网站使用该 .js 文件。有什么办法吗?

4

1 回答 1

0

我们可以使用 Http Module 来检查 URL 是否包含这些特定的扩展名。例如,我们在 App_code 文件夹中创建一个 http 模块,并在 web.config 中配置 http 模块:

namespace HttpUrlRewrite
{
    /// <summary>
    /// Summary description for HttpUrlRewrite
    /// </summary>
    public class Rewriter  : System.Web.IHttpModule
    {


        public void Init(System.Web.HttpApplication Appl)
        {
            Appl.BeginRequest += new System.EventHandler(Rewrite_BeginRequest);
        }


        public void Dispose()
        {
        }


        public void Rewrite_BeginRequest(object sender, System.EventArgs args)
        {
            System.Web.HttpApplication App = (System.Web.HttpApplication)sender;
            string path = App.Request.Path;


            string strExt = System.IO.Path.GetExtension(path);
            if (strExt == ".css")
            {
                //Do Something
                HttpContext.Current.Response.Redirect("error.aspx");
            }
            else
            {
                //Do Something
            }


        }
    }
}

                <httpModules>
                        <add type="HttpUrlRewrite.Rewriter" name="HttpUrlRewrite" />
                </httpModules>
于 2012-06-21T14:45:27.127 回答