防止直接输入URL跳过登录(如何强制关闭页面,不提示是否关闭)
答案:5 悬赏:70 手机版
解决时间 2021-03-20 10:26
- 提问者网友:玫瑰园
- 2021-03-19 13:19
防止直接输入URL跳过登录(如何强制关闭页面,不提示是否关闭)
最佳答案
- 五星知识达人网友:平生事
- 2021-03-19 14:00
通常的做法是这样的:在登录页(比如说是login.asp)登陆成功后,要把登陆成功的状态赋值给一个Session变量,比如 Session("login")="OK",然后在除登录页之外的其他页面的开头都检测这个Session变量的值,不是登录状态即立刻强制跳转到登录页面,比如:
if session("login")<>"OK" then response.redirect "login.asp"
这样的话,除登录页之外的其他页面如果想通过地址栏直接输入URL进入都会被强行转到登录页面,这样就可以防止非法进入了。
if session("login")<>"OK" then response.redirect "login.asp"
这样的话,除登录页之外的其他页面如果想通过地址栏直接输入URL进入都会被强行转到登录页面,这样就可以防止非法进入了。
全部回答
- 1楼网友:洎扰庸人
- 2021-03-19 16:10
没有这么复杂啊。
直接在web.config里定义就可以了。根本不需要任何代码。
随便哪本ASP.NET 书里都有无穷多的例子。
直接在web.config里定义就可以了。根本不需要任何代码。
随便哪本ASP.NET 书里都有无穷多的例子。
- 2楼网友:底特律间谍
- 2021-03-19 15:18
用js获取cookie值,判断获取的cookie值是否存在(cookie存在即登录),然后强制跳转到指定页面
- 3楼网友:污到你湿
- 2021-03-19 14:31
不需要,我也采用过类似的办法
没有出现你所说的是否关闭原窗口的问题
你可以按照流程进行测试
首先令Session["username"] = null;或者Session["username"] ="";
然后用户登录成功的时候进行赋值
当用户退出时先将Session["username"] = null然后在退出或者重导向到登录页面
这样是不会出现你所说的情况的
你可以试一下 如有疑问请追问
没有出现你所说的是否关闭原窗口的问题
你可以按照流程进行测试
首先令Session["username"] = null;或者Session["username"] ="";
然后用户登录成功的时候进行赋值
当用户退出时先将Session["username"] = null然后在退出或者重导向到登录页面
这样是不会出现你所说的情况的
你可以试一下 如有疑问请追问
- 4楼网友:雾月
- 2021-03-19 14:26
在你的Admin文件夹中添加一个Web.config,通过配置Web.config实现。在
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
每次,net都会验证用户是否通过登录页面过来的。。。不是的话就定位到登录的页面。。。
登录的页面名字必须是Login.aspx(一般的习惯)。
目录结构:
登录界面:
前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Admin_Account_Login" %><!DOCTYPE html>
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></br>
密码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></br>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
后台代码:
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text != "weiwei" || TextBox2.Text != "123") return;
var user = TextBox1.Text;
FormsAuthentication.RedirectFromLoginPage(user, false);//使用.net的Security机制
Session["user"] =user ;//注册Session
Response.Redirect("~/Admin/Default.as
登出的界面代码更简单,如下:
{
FormsAuthentication.SignOut();//Security登出
Session["user"] = "";//清空Session
Response.Redirect("Login.aspx");
}
Admin文件夹主界面Default.aspx:
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
你好,<%=Session["user"] %>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="../Account/Out.aspx">退出</a>
</div>
</form>
</body>
</html>
好了到这里就ok了。。。。。这么操蛋了。。。。成这样了。。。附源码把。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯