注册 登录
编程论坛 ASP技术论坛

关于禁止非用户登陆网页问题?

guang2356447 发布于 2007-08-25 11:37, 1391 次点击
我的登陆页面只输入用户名和密码    是不是还要传诵一个权限字段的直那  权限字段只有true 和false 2个直
字段有name(姓名) pwd(密码) qx(权限) by(备用)
fygl.asp页面  只能让注册过的用户才能进去
我用以下
<%if session("name")<>"" then%>
<%
else
%>
<script language="javascript">alert('请登录');location.href='index.asp';</script>
<%
end if
%>
可以限制非法用户进入fygl.asp
现在问题是
fybj.asp 我想让只有注册过的用户才能进去  并且只有 权限 为true 的时候才能进去
我该怎么添加    
这样写不好可以

<%if session("name")<>"" and session("qx")<>"" then%>    

苦恼
14 回复
#2
utfqqrsf2007-08-25 11:50
那便再加一个session("qx")=true

if session("name")<>"" and session("qx")=true then
..........
else
.........
end if
#3
guang23564472007-08-25 12:26
不可以啊
我使过拉
比如我用1用户名进入fygl.asp 然后在浏览器上输入fybj.asp 就可以进去 1用户的qx字段为FALSE 不是true不应该能进去
<!-- #include file="connn.asp"-->
<!-- #include file="md5.asp"-->
<%
name=trim(request.Form("name"))
pwd=trim(request.Form("pwd"))
set rs=server.CreateObject("adodb.recordset")
sql="select * from pwd where name='"&name&"' and pwd='"&md5(pwd)&"'"
set rs=conn.execute(sql)
if rs.eof or rs.bof then
response.write "<script language=javascript>"
response.write "alert('用户或密码不对!');"
response.write "javascript:history.go(-1);"
response.write "</script>"
else
if rs("qx")=true then
session("name")=name
response.write"<SCRIPT language=JavaScript>alert('登陆成功');"
response.write"this.location.href='fygl.asp';</SCRIPT>"
else
session("name")=name
response.write"<SCRIPT language=JavaScript>alert('登陆成功');"
response.write"this.location.href='fytj.asp';</SCRIPT>"
end if
end if
%>

fygl.asp

<!-- #include file="connn.asp"-->
<%if session("name")<>"" and session("qx")=true then%>
<%
else
%>
<script language="javascript">alert('请登录');location.href='index.asp';</script>
<%
end if
%>
#4
天涯听雨2007-08-25 12:54
这样,在注册用户时数据入库后,进行赋一session来判断用户是否注册过?

session("Register")="IsRegister"

如果用户是没有进行注册的,

在登陆页前面加入这代码不就可以

<%
if session("Register")<>"IsRegister" then
<script LANGUAGE='javascript'>alert('对不起,您还没有进行注册,请先进行注册再来登陆');window.location.href='Register.asp';<script>
response.end
end if
%>
#5
guang23564472007-08-25 12:58

哎说不明白拉

晕啊

能不能多条件判断
<%if session("name")<>"" and session("qx")=true then%>

不过哪个权限字段qx 的值是true 和false


#6
guang23564472007-08-25 13:03
就是级别问题
fygl.asp 进入的权限是 只要在数据库里的用户就能进入
比如1用户名 能进如fygl.asp页面 但是进入不了fybj.asp页面 因为1的权限字段为false
只有用户名1的权限为true时才能进如fybj.asp

所以我想在fybj.asp页面限制1进入
<%if session("name")<>"" and session("qx")=true then%>
#7
天涯听雨2007-08-25 13:06
不要说登录时进行限制,而你只是想注册过后用户登录,而且是有某权限的用户才可以进入某页

在表达问题时请表达清楚

如果是这样,就应该有一个字段是存用户的相关权限的字段。

在需要权限的这样写代码

<%
if session("name")="" then
<script LANGUAGE='javascript'>alert('对不起,您还没有登陆,请先进行登陆');window.location.href='Login.asp';<script>"
response.end
else
if session("qx")<>true then
<script LANGUAGE='javascript'>alert('对不起,您没有权限进入此页面');history.go(-1);<script>"
response.end
end if
end if
%>
#8
guang23564472007-08-25 13:14

是已经登陆的用户 但是登陆的用户权限级别为FALSE 他可以在浏览器上直接输入网址可以进入 因为也是用户
我这样写不可以吗 放在一起
<%if session("name")<>"" and session("qx")=true then%>

用户名 密码 权限 备用 fygl.asp 用户1 2 都可以进入
字段 name pwd qx by
用户 1 1 false false
用户 2 2 true false

fybj.asp 只有用户2 才能进入 因为权限为true
我在fybj.asp 加上
<%if session("name")<>"" then%>这样防止不了1用户

我这样写不好使<%if session("name")<>"" and session("qx")=true then%>

就是这个

#9
天涯听雨2007-08-25 13:19
可以放在一起写,如果放在一起写这样写:

<%
if session("name")="" or session("qx")<>true then '没有登陆或者权限不是true ,就会进行JS报告
<script LANGUAGE='javascript'>alert('对不起,您没有登陆或者您没有权限进入此页面');history.go(-1);<script>"
response.end
end if
%>
#10
天涯听雨2007-08-25 13:22
请理解条件,什么条件下进行什么报告

你现在是要登陆,且要有权限才能进入,那么你在写时,就应该是上面两种只要有一种没有满足就不能进,那条件就应该是 or 不是而and
#11
guang23564472007-08-25 13:22
使用or 啊 我使用and

好我在使使

if rs("qx")=true then
session("name")=name


这个还用加个
session("qx")=true吗
#12
guang23564472007-08-25 13:26
还是没起到限制1用户进入fybj.asp的作用 我是用1的用户登陆 然后在浏览器上直接输入fybj.asp 就进去拉 应该不能进的
我QQ:
312665314
我把网页传到网上
看的明白些
谢谢
#13
guang23564472007-08-25 13:29
天涯听雨

请加我QQ 312665314
你给我说你的我加你

我已经传到网上拉

www.zydq.org
#14
天涯听雨2007-08-25 13:32
我已经回答很明白了。。。我的Q是:809252803
#15
天涯听雨2007-08-25 13:35
你加我吧。。。。
1