首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护asp.net应用程序仅在指定域上运行?

问如何保护asp.net应用程序仅在指定域上运行?
EN

Stack Overflow用户
提问于 2011-03-09 23:47:43
回答 4查看 610关注 0票数 2

我将在共享托管帐户上发布一个asp.net预编译的网站,但我不希望我的代码被复制并能够在另一个域上运行。我需要检查域,如果不是,example.com或www.example.com重定向到错误页面,或者显示错误作为响应。

编辑:这是我基于给定答案的解决方案

代码语言:javascript
复制
void Application_BeginRequest(object sender, EventArgs e)
{
    string[] safeDomains = new string[] { "localhost",
    "example.com", "www.example.com" };

    if (!((IList)safeDomains).Contains(Request.ServerVariables["SERVER_NAME"]))
    {
        Response.Write("Domain not allowed!");
        Response.End();
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-10 00:21:34

如果域是提前知道的,为什么不检查global.asax的SERVER_NAME处理程序中的Application_BeginRequest服务器变量呢?如果它不是您预先确定的域之一,那么将请求踢到一个错误页面。

这个链接向您展示了可用的各种服务器变量和一些示例输出。

Rick还有一个非常好的解析变量的博客帖子,可以获取有关请求的各种信息。这是个很好的参考。

希望这能有所帮助!

票数 2
EN

Stack Overflow用户

发布于 2011-03-10 00:20:18

检查传入请求的Request.Url.Host。匹配吗?通过将服务器放置在专用网络上并向其代理请求,坚定的人可能能够绕过这一问题,但这可能是您所能管理的最好的。

票数 1
EN

Stack Overflow用户

发布于 2011-03-26 08:54:09

本博客帖子演示了如何使用专业的许可系统实现对ASP.NET应用程序的域名保护。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5253783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档