Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使.html文件可以通过HTTP访问,但只能通过重定向访问?_Html_Asp.net_Security_Networking - Fatal编程技术网

如何使.html文件可以通过HTTP访问,但只能通过重定向访问?

如何使.html文件可以通过HTTP访问,但只能通过重定向访问?,html,asp.net,security,networking,Html,Asp.net,Security,Networking,我们的服务器上有一个可以直接通过URL访问的文件,但这是一个安全问题 我们的系统在弹出窗口中打开文件,但您也可以通过直接导航到页面的URL直接访问该页面 我们如何防止这种情况,并且只允许通过重定向访问文件?在打开弹出窗口的页面上设置一个会话变量: Session["MainPageVisited"] = true; 并在弹出页面上检查该值: if (Session["MainPageVisited"] == null || !Session["MainPageVisited"]) { R

我们的服务器上有一个可以直接通过URL访问的文件,但这是一个安全问题

我们的系统在弹出窗口中打开文件,但您也可以通过直接导航到页面的URL直接访问该页面


我们如何防止这种情况,并且只允许通过重定向访问文件?

在打开弹出窗口的页面上设置一个会话变量:

Session["MainPageVisited"] = true;
并在弹出页面上检查该值:

if (Session["MainPageVisited"] == null || !Session["MainPageVisited"]) 
{
  Response.Redirect("http://www.example.com/", true);
}
要使此解决方案正常工作,您的
html
文件需要用作
aspx
。或者,如果需要将HTTP模块设置为实际的
html
,则可以创建该模块:

创建模块 为在经典模式下运行的IIS 6.0和IIS 7.0注册模块

为在集成模式下运行的IIS 7.0注册模块


注意,这是在没有测试的情况下创建的,但它应该会让您走上正确的道路。确保所有请求都通过ASP.NET映射以使其工作(集成模式或设置通配符应用程序映射)。

在打开弹出窗口的页面上设置会话变量:

Session["MainPageVisited"] = true;
并在弹出页面上检查该值:

if (Session["MainPageVisited"] == null || !Session["MainPageVisited"]) 
{
  Response.Redirect("http://www.example.com/", true);
}
要使此解决方案正常工作,您的
html
文件需要用作
aspx
。或者,如果需要将HTTP模块设置为实际的
html
,则可以创建该模块:

创建模块 为在经典模式下运行的IIS 6.0和IIS 7.0注册模块

为在集成模式下运行的IIS 7.0注册模块


注意,这是在没有测试的情况下创建的,但它应该会让您走上正确的道路。确保所有请求都通过ASP.NET映射以使其工作(集成模式或设置通配符应用程序映射)。

在打开弹出窗口的页面上设置会话变量:

Session["MainPageVisited"] = true;
并在弹出页面上检查该值:

if (Session["MainPageVisited"] == null || !Session["MainPageVisited"]) 
{
  Response.Redirect("http://www.example.com/", true);
}
要使此解决方案正常工作,您的
html
文件需要用作
aspx
。或者,如果需要将HTTP模块设置为实际的
html
,则可以创建该模块:

创建模块 为在经典模式下运行的IIS 6.0和IIS 7.0注册模块

为在集成模式下运行的IIS 7.0注册模块


注意,这是在没有测试的情况下创建的,但它应该会让您走上正确的道路。确保所有请求都通过ASP.NET映射以使其工作(集成模式或设置通配符应用程序映射)。

在打开弹出窗口的页面上设置会话变量:

Session["MainPageVisited"] = true;
并在弹出页面上检查该值:

if (Session["MainPageVisited"] == null || !Session["MainPageVisited"]) 
{
  Response.Redirect("http://www.example.com/", true);
}
要使此解决方案正常工作,您的
html
文件需要用作
aspx
。或者,如果需要将HTTP模块设置为实际的
html
,则可以创建该模块:

创建模块 为在经典模式下运行的IIS 6.0和IIS 7.0注册模块

为在集成模式下运行的IIS 7.0注册模块



注意,这是在没有测试的情况下创建的,但它应该会让您走上正确的道路。确保所有请求都通过ASP.NET映射以使其工作(集成模式或设置通配符应用程序映射)。

“仅允许通过重定向访问文件?”-这是不可能的。你可以用推荐人做一些事情,但这是用户提供的,很容易伪造。使用凭据或临时访问令牌进行身份验证。“仅允许通过重定向访问文件?”-这是不可能的。你可以用推荐人做一些事情,但这是用户提供的,很容易伪造。使用凭据或临时访问令牌进行身份验证。“仅允许通过重定向访问文件?”-这是不可能的。你可以用推荐人做一些事情,但这是用户提供的,很容易伪造。使用凭据或临时访问令牌进行身份验证。“仅允许通过重定向访问文件?”-这是不可能的。你可以用推荐人做一些事情,但这是用户提供的,很容易伪造。使用凭据或临时访问令牌进行身份验证。我收到一个错误:
名称“会话”在当前上下文中不存在。
给出了什么?从上下文对象中获取它。好的,我已经让它工作了,但它仍然允许我直接通过URL打开HTML文件,即使我已注销。知道为什么会发生这种情况吗?清除cookies,然后尝试在直接通过URL访问文件时不使用,仅在通过启动文件的站点访问文件时使用。我收到一个错误:
名称“Session”在当前上下文中不存在。
给出了什么?从上下文对象获取它。好的,我让它工作了,但它仍然允许我直接通过URL打开HTML文件,即使我已经注销。知道为什么会发生这种情况吗?清除cookies,然后尝试在直接通过URL访问文件时不使用,仅在通过启动文件的站点访问文件时使用。我收到一个错误:
名称“Session”在当前上下文中不存在。
给出了什么?从上下文对象获取它。好的,我让它工作了,但它仍然允许我直接通过URL打开HTML文件,即使我已经注销。知道为什么会发生这种情况吗?清除cookies,然后尝试在直接通过URL访问文件时不使用,仅在通过启动文件的站点访问文件时使用。我收到一个错误:
名称“Session”在当前上下文中不存在。
给出了什么?从上下文对象获取它。好的,我让它工作了,但它仍然允许我直接通过URL打开HTML文件,即使我已经注销。知道为什么会发生这种情况吗?当直接通过URL访问文件时,请清除cookies,然后重试,仅当通过该网站访问文件时