【问题标题】:Classic asp not publicly available经典的 asp 不公开
【发布时间】:2014-05-12 16:02:27
【问题描述】:

我需要从 .net 调用经典 asp 页面,因为我需要在我的 .net 应用程序中使用经典 asp 页面的功能。

目前我知道如何做到这一点的唯一方法是这样的:

MeetingCentres.Services.ClassicWhyGo.file_get_contents("http://someurl.asp?inputValue=£$%$£"%$£"%$£%)

    public static string file_get_contents(string fileName)
    {
        string sContents = string.Empty;
        if (fileName.ToLower().IndexOf("http:") > -1)
        { // URL 
            System.Net.WebClient wc = new System.Net.WebClient();
            byte[] response = wc.DownloadData(fileName);
            sContents = System.Text.Encoding.ASCII.GetString(response);
        }
        else
        {
            // Regular Filename 
            System.IO.StreamReader sr = new System.IO.StreamReader(fileName);
            sContents = sr.ReadToEnd();
            sr.Close();
        }
        return sContents;
    }

...但这意味着经典的 asp 页面是通过 http 访问的,因此是公开的。

当敏感信息被返回时,我需要如何保护这个页面。

我宁愿不公开这个 asp 页面。

据我所知,在 IIS 中似乎无法使页面仅在网站根目录上方可用?

否则,如果它必须是公开的,我会认为我可以检查 calling.net 应用程序的 IP 地址并确保它在同一台服务器上。

有没有更好的方法来做到这一点?还是上面的安全..?

【问题讨论】:

  • 旁注:此声明“通过 http 访问并因此公开可用”是您的个人意见 - 通过 HTTP 访问与公开可用无关。 IE。我的机器在localhost 上通过 HTTP 提供了 ASP.Net 示例站点 - 你能找到它吗?外部可用性取决于您的网络配置,与 http 协议没有直接关系。
  • 我说的是我目前的设置,我正在寻找解决方案。感谢您的澄清
  • 您正在考虑您当前的设置,帖子中没有关于您的站点/公共访问设置的信息。可能您可以从非默认端口为其他站点提供服务,并在防火墙上阻止它在框外访问...查看您的设置和更新帖子,以便清楚您当前的设置是您想要阻止的(究竟是什么“公开可访问”在您的情况下是指)。
  • 您能否将 Classic ASP 作为单独的网站运行在不同的端口上,该端口可以通过防火墙防止外部访问?
  • @John 是的,这就是我现在所做的

标签: asp.net iis asp-classic


【解决方案1】:

你能修改.asp页面吗?

做一些测试,比如:

  • 检查IP地址是否相同:

    <%
        if Request.ServerVariables("REMOTE_ADDR") = "127.0.0.1" then
            'Do your stuff
        end if
    %>
    
  • 创建一个 Cookie,存储一个编码的键并对其进行测试,只有当值等于键时才显示数据。

    <%
        Response.Cookies("key")=encodedKey
    %>
    
  • 测试 cookie

    <%
        if Decode(Response.Cookies("key")) = decodedKey then
            'Do your stuff
        end if
    %>
    

这只是简单的想法。

【讨论】:

  • 注意REMOTE_ADDR是可以伪造的。
猜你喜欢
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多