gpt4 book ai didi

c# - 在 response.redirect 之前调用 javascript

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:06 24 4
gpt4 key购买 nike

我试图限制未经授权的用户访问 Utilities.aspx 页面并将他重定向到 Default.aspx 页面。

if (authorizedUser.ToLower() != "admin")
{
if (!ClientScript.IsClientScriptBlockRegistered("UnauthorizedUserRedirect"))
{
ClientScript.RegisterStartupScript(this.GetType(), "UnauthorizedUserRedirect", "<script>alert('Unauthorized access!\n\nYou have attempted to access a page that you are not authorized to view.')</script>", true);
Response.Redirect("Default.aspx");
}
}

然而,虽然重定向工作正常,但 alert 没有显示在页面上。搜索这个问题告诉我 Response.Redirect 在客户端代码完全呈现之前就完成了它的操作。

如何在 Response.Redirect 之前显示 alert


我还在 Default.aspxPage_Load 中尝试了这两种方法,但都没有用。如果设置了某个 session 变量,则显示警报。

if (Session["unauth"] != null)
{
ClientScript.RegisterStartupScript(this.GetType(), "UnauthorizedUserRedirect", "alert('Unauthorized access!\n\nYou have attempted to access a page that you are not authorized to view.');", true);
}


if (Session["unauth"] != null)
{
form1.Attributes.Add("OnLoad", "javascript:alert('Unauthorized access!\n\nYou have attempted to access a page that you are not authorized to view.');");
}

最佳答案

您不能使用 HTTP 重定向 + javascript。如果你想在重定向之前显示一个警告消息,你需要使用 100% javascript 解决方案,这会产生一个很大的安全漏洞,很容易导致对该页面的未经授权的访问。

我想说您能做的最好的事情就是在目标页面上显示描述性消息。您可以为此发送一个查询字符串参数。

关于c# - 在 response.redirect 之前调用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17087192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com