0
在我的ASP .Net应用程序(不是MVC,只是ASP .Net)我有几个Web表单,并且需要限制用户直接访问多个网页。ASP .Net Web.config
但是在从其他页面的应用程序链接和根据应用程序的功能,应该能够重定向(Response.Redirect或表单提交在后或获取方式)到这些页面,但严格地不直接输入到浏览器的URL并访问它们。
我已经在那些页面加载事件(在哪些需要限制直接访问)中尝试以下,并且工作得很好。
if (Request.UrlReferrer == null)
{
Response.Redirect("~/Index.aspx", true);
}
但我得到的问题是我对ASP.Net相对较新,不知道这是否是最好的方法来做到这一点。
1)。主要是我搜索,但需要知道我是否可以使用web.config文件完成此操作。如果是的话,将不胜感激,如果有人可以解释如何web.config文件应该做到这一点...
2)。另外我想重定向用户,如果他在站点托管的域名内输入错误的URL ...为此,我在web.config中执行了以下操作,但是想知道这是否正确。谢谢...
<customErrors mode="On" defaultRedirect="~/Index.aspx">
<error statusCode="404" redirect="~/Index.aspx" />
</customErrors>
一般你会重定向到一个特定的“页面未找到”或“404错误”页面,而不是回到索引 - 这很可能会混淆用户,并被认为是“黑暗的做法”。见http://www.codinghorror.com/blog/2007/03/creating-user-friendly-404-pages.html。关于重定向问题,这应该有多安全?没有什么能够阻止用户使用JavaScript将他们自己从公共页面重定向到所谓的“安全”的用户,如果所有被检查的内容都是推介的存在。也许你应该考虑令牌? – pwdst