Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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
C# 响应。在页面加载事件中重定向_C#_Asp.net_Webforms_Response.redirect - Fatal编程技术网

C# 响应。在页面加载事件中重定向

C# 响应。在页面加载事件中重定向,c#,asp.net,webforms,response.redirect,C#,Asp.net,Webforms,Response.redirect,如果在Page_Load事件期间调用Response.Redirect/,恶意用户可以在重定向之前访问页面内容,比如html本身?我正在尝试将不允许的用户重定向到default.aspx页面,但我不确定以这种方式使用代码是否存在漏洞。不,别担心,只需在事件开始时将其放在一个安全的文件夹中,如Members,就可以了。将您的页面放在一个安全的文件夹中 在该文件夹中添加以下web.config文件 <?xml version="1.0" encoding="utf-8"?> <co

如果在Page_Load事件期间调用Response.Redirect/,恶意用户可以在重定向之前访问页面内容,比如html本身?我正在尝试将不允许的用户重定向到default.aspx页面,但我不确定以这种方式使用代码是否存在漏洞。

不,别担心,只需在事件开始时将其放在一个安全的文件夹中,如Members,就可以了。

将您的页面放在一个安全的文件夹中

在该文件夹中添加以下web.config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>

现在只有经过身份验证的用户才能访问该页面。

是的,可以,具体取决于您如何使用它。我在中解释了这一点,并提到了如何忽略重定向并查看页面内容,就像您担心的那样。即使您当前使用的重定向没有打开此漏洞,只要对该函数中的参数进行简单更改,就可以,也会。@MikeSmithDev出于测试目的,我在页面中添加了一个页面渲染事件并进行了调试。当我使用第二个参数implicit true的默认Response.Redirect时,不会调用Page_Render事件。所以,一切都是安全的,对吗?不调用页面渲染=不向用户发送Html。这是安全的,但不是最优的。有一天,如果有人试图消除您的Response.Redirecturl导致的ThreadAbortException,并将false添加为第二个参数,则不会,这可能是不安全的。我会继续,现在就修复它,使其安全,并且不会在重定向时引发异常。@MikeSmithDev使用Response.Redirecturl进行修复有什么提示吗,false?我已经知道了将true作为参数传递会导致异常,以及这对性能的影响。我该怎么办?销毁缓冲页?您可以将该页包装在visible=false的div中,并仅在不重定向的情况下显示它。因此,如果他们绕过302,他们看到的只是一个空页面。这在某些情况下是有效的。但是,如果这是一个页面,他需要检查用户的权限,因为它与页面本身有关,该怎么办?喜欢编辑内容。也许他有权访问特定页面,也许不是。。。角色在这方面没有帮助。