防止用户绕过地址栏进入网站 我现在做好了一个系统了,但是安全方面不行,别人可以通过直接在浏览器上输入地址进入系统,这样的话前面首页登录框就白做了,有什么好的方法可以帮我解决这个问题?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用什么开发的。如果是.net 1.1 以上版本,你可以配置web.config文件来设置那么页面可以匿名访问,那些不可以。 Forms验证,这么基本的东西。看看www.codehenry.com,怎么绕也饶不过去 看一下asp.net forms验证.(推荐)http://msdn.microsoft.com/zh-cn/library/7t6b43z4(VS.80).aspx或是你可以用session验证(不推荐) 麻烦这位兄弟可以具体说下嘛?我是VS 2005开发的 用的.NET FRAMEWORK 2.0 谢谢 这个问题是大多数程序员都容易碰到的问题,特别是在用户后台的页面验证上,如果我们知道了URL就可以直接绕过登录而进入的话,那我们的登录就白做了,我推荐一个最好的方法:public class BasePage : System.Web.UI.Page//注意这里 { //重载页面方法 protected override void OnLoad(EventArgs e) { //如果没登录,转到登录,Session不为空,则正常加载页面. if (Session["UserName"] == null) { Response.Redirect("~/Admin/Login.aspx"); } else { base.OnLoad(e); } } }然后把需要验证的页面的,都遵循basepage接口.例如要验证Default.aspx 那么要把Default.aspx.cs的public partial class Default : BasePage//改为BasePage 打开google,输入:asp.net 2.0 访问控制然后点搜索。或者:打开msdn,左边栏点“index(索引)”然后输入:URL 身份验证 另外,你也可以考虑下用session。 你可以在登陆页用 session[name]=用户名 的方式记录一下。在其他也的 page_load()中判断一下,如果没有登录那麽 if session[name]=nothing or session[name]="" then response.redirect("首页地址") 你可以自定义一个控件,在这个控件里面设置好SESSION这样你只需要在每个需要登录的页面里面添加一下这个控件。如果SESSION中设置好需要登录的值为null的话,就跳转到登录页面这样不管你是在地址栏中直接输入URL地址也好,还是链接进来也好,只要SESSION过期或为空了。就一定需要登录 登录的时候存Session["yonghuid"],每个页面Page_lode 都判断Session是否存在不存在就跳到登录页面 楼上的session验证不能真正解决楼主的问题,如果user用户,直接访问admin的页面呢?这样不是还要增加权限的验证?有什么办法控制来源呢? 更具不同用户的具体要求:首先判断session值,不同的类型可以转到不同的登录界面,没有页面的后台都要判断,也就是权限问题·~~ 一个不错的ASP.NET技术网站:http://singletowm.com/ 你可以到ASP.NET技术网站:http://singletowm.com/,也许上面有你要解决的问题 强烈楼主使用session验证!在验证与安全方面,session都很有成效的。 session 和 froms 都可以。 之前都用session验证,前些日子才知道forms验证,看了一下,没真正用到,不过session应该够用了吧 Forms验证或者SESSION都可以的cookie不保险 除了Forms验证最好外,实在是不知道该给楼主建议什么。Session不稳定,老是丢失让客户频繁登录会气死人 session比较占资源 最好还是用form验证 page_load()中判断一下, if (session[name]==null ) { response.redirect("Login.aspx") } if (!IsPostBack) { //权限判断 if (User.Identity.Name.ToString() == "") Response.Redirect("Login.aspx"); //设置导航栏 ... //设置数据 } session cookies 等等,随便用一种就绕不过 遇到一个奇怪的问题 关于微软工作流WF的问题? 服务器应用程序不可用.......... 为什么?? 判断Eval("Title")是否有数据的问题 asp.net打包問題,有誰知道這樣的怎麼打包 大虾帮看一下,我这里有个棘手的问题,谢谢. 问:如何用asp.net用向局域网的共享目录上传文件? 关于许多asp.net的初级问题?各位帮帮忙 类继承问题,basepage_Init没有运行(不定) 求正则表达式 SetAuthCookie的同时添加cookie的问题 100分求助图片上传问题
看看www.codehenry.com,
怎么绕也饶不过去
http://msdn.microsoft.com/zh-cn/library/7t6b43z4(VS.80).aspx或是你可以用session验证(不推荐)
{
//重载页面方法
protected override void OnLoad(EventArgs e)
{
//如果没登录,转到登录,Session不为空,则正常加载页面.
if (Session["UserName"] == null)
{
Response.Redirect("~/Admin/Login.aspx");
}
else
{
base.OnLoad(e);
}
}
}
然后把需要验证的页面的,都遵循basepage接口.例如要验证Default.aspx 那么要把Default.aspx.cs的public partial class Default : BasePage//改为BasePage
然后点搜索。
或者:
打开msdn,左边栏点“index(索引)”然后输入:URL 身份验证
在其他也的 page_load()中判断一下,如果没有登录那麽 if session[name]=nothing or session[name]="" then
response.redirect("首页地址")
这样你只需要在每个需要登录的页面里面添加一下这个控件。
如果SESSION中设置好需要登录的值为null的话,就跳转到登录页面
这样不管你是在地址栏中直接输入URL地址也好,还是链接进来也好,只要SESSION过期或为空了。就一定需要登录
这样不是还要增加权限的验证?
有什么办法控制来源呢?
首先判断session值,不同的类型可以转到不同的登录界面,没有页面的后台都要判断,也就是权限问题·~~
或者SESSION都可以的
cookie不保险
Session不稳定,老是丢失让客户频繁登录会气死人
if (session[name]==null )
{
response.redirect("Login.aspx")
}
{
//权限判断
if (User.Identity.Name.ToString() == "")
Response.Redirect("Login.aspx"); //设置导航栏
...
//设置数据
}