| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1179 人关注过本帖
标题:[求助]一个非常郁闷的事
只看楼主 加入收藏
caor1987
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2006-10-15
收藏
 问题点数:0 回复次数:16 
[求助]一个非常郁闷的事
我做的网站一直有个隐形人,说他是隐形人就是他能跳过我任何的判断语句,比如网站上看图片要收费,他就可以随便看。在我的消费记录表中,显示ID为空,这说明他的身份是游客,我就想不明白,他怎样跳过我的限制呢??
或者用其他方法,声明一下,我的网站以前被人入侵过,不过现在应该干净了。
搜索更多相关主题的帖子: 记录表 网站 
2007-03-03 15:54
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 
2007-03-03 16:34
cdwyj
Rank: 1
等 级:新手上路
威 望:1
帖 子:127
专家分:0
注 册:2007-2-21
收藏
得分:0 
或许是服务器的管理员……
或许服务器上有WEBSHELL……
或许你本身的程序有漏洞……

能分享一下你的验证原理么

[此贴子已经被作者于2007-3-3 18:36:27编辑过]


2007-03-03 18:35
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
ASP一定要进行双重验证,也就是客户端服务器端,都作验证,这样看着麻烦但相当安全。还有就是秘密的个人用户信息,最好用Session传递,不要在网页的任何地方传递。
2007-03-03 19:26
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
收藏
得分:0 
如果你肯定他不是会员,那多半是程序漏洞,或黑客.
但也有这种可能,那人用了隐藏IP的技术.
让你看不到他的IP.


2007-03-03 21:20
cdwyj
Rank: 1
等 级:新手上路
威 望:1
帖 子:127
专家分:0
注 册:2007-2-21
收藏
得分:0 
YMS123能给出个双验证的例子么?特别是客户端验证。

我现在就用的纯服务器验证

2007-03-03 22:35
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
以下是引用cdwyj在2007-3-3 22:35:36的发言:
YMS123能给出个双验证的例子么?特别是客户端验证。

我现在就用的纯服务器验证

客户端一般是javascript验证我一般用Javascript提交表单,屏蔽Javascript就无法提交表单,不屏蔽就执行验证。

<html>
<head>
<title>登陆验证</title>
<script language="javascript">
//客户端验证代码(提交按钮的onClick事件中写)
function Page_Submit()
{
//验证过程代码
if(this.UsName.value=="")
{
alert('用户名不能为空');
return false;
}
if(this.UsName.value.length>6)
{
alert('用户名最多6个字符');
return false;
}
if(this.UsPwd.value=="")
{
alert('密码不能为空');
return false;
}
//通过验证后将信息传递给隐藏表单,提交隐藏表单到服务器端
document.HideForm.UserName.value=this.UsName.value;
document.HideForm.UsPwd.value=this.UsPwd.value;
document.HideForm.IsSubmit.value="True";
document.HideForm.submit();//提交表单的JavaScript的写法。
}
//页面载入事件代码(网页加载时执行)
function Page_Load()
{
//这里看似是一个客户端函数
//其实这里是一个服务器端函数
//该函数的逻辑代码在服务器端执行
<%
'服务器端的验证代码
Dim ReFalse
ReFalse="F"
IF Request.Form("IsSubmit")="True" Then
IF Request.Form("UsName")="" Then
Response.Write "alert('用户名不能为空');"
ReFalse="T"
End IF
IF ReFalse<>"T" Then
IF Len(Request.Form("UsName"))>6 Then
Response.Write "alert('用户名最多6个字符');"
ReFalse="T"
End IF
End IF
IF ReFalse<>"T" Then
IF Request.Form("UsPwd")="" Then
Response.Write "alert('密码不能为空');"
ReFalse="T"
End IF
End IF
IF ReFalse<>"T" Then
'通不过上面的验证是不会执行操作代码的。
'这里省略验证通过后的操作代码。
End IF
End IF
%>
}
</script>
</head>
<!--Page_Load()函数的作用是将服务器端的验证结果显示在客户端。-->
<!--无数据提交时客户端的Page_Load()函数无任何语句体空函数。-->
<body onLoad="Page_Load();" >
用户名<input name="UsName" type="text" >
密 码<input name="UsPwd" type="Password" >
<input type="button" value="登陆" onClick="Page_Submit();" >
<!--隐藏表单,真正提交数据的表单,网页上其他地方无表单-->
<form name="HideForm" action="LoginVerify.asp" method="post" >
<input name="UserName" type="hidden">
<input name="UsPwd" type="hidden" >
<input name="IsSubmit" type="hidden" >
</form>
</body>
</html>
将网页保存为LoginVerify.asp进行测试。

[此贴子已经被作者于2007-3-4 0:08:41编辑过]

2007-03-03 23:59
caor1987
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2006-10-15
收藏
得分:0 

我的判断代码是这样的,大家看看有什么漏洞不????先谢过了。
<%if session("U_id")="" and session("C_id")="" then
response.write("<script>alert('对不起,您还没有登陆!');location.href='login1.asp';</script>")
%>
<%else%>
<%
if session("leixing")=0 then
set rs1=server.createobject("adodb.recordset")
sql1="select U_id,User_his,W_id,W_point from User_com where U_id='"&session("U_id")&"' and W_id='"&id&"'"
rs1.open sql1,conn,1,3
if rs1("User_his")<rs1("W_point") then
response.write("<script>alert('您的余额不足,请充值!');location.href='about/member.asp';</script>")
response.End
else
rs1("User_his")=rs1("User_his")-rs1("W_point")
rs1.update
rs1.close
set rs1=nothing
end if
else if session("leixing")=1 then
set rs2=server.createobject("adodb.recordset")
sql2="select C_id,Company_glodhis,W_id,W_point from Com_work where C_id='"&session("C_id")&"' and W_id='"&id&"'"
rs2.open sql2,conn,1,3
if rs2("Company_glodhis")<rs2("W_point") then
response.write("<script>alert('您的素材余额不足,请充值!');location.href='about/member0.asp';</script>")
response.End
else
rs2("Company_glodhis")=rs2("Company_glodhis")-rs2("W_point")
rs2.update
rs2.close
set rs2=nothing
end if
end if
end if
%>
<%end if%>

2007-03-05 15:27
caor1987
Rank: 1
等 级:新手上路
帖 子:228
专家分:0
注 册:2006-10-15
收藏
得分:0 
回复:(tang688)[em02]如果你肯定他不是会员,那多半...
他的IP我是看的到的。。。
2007-03-05 15:28
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

login1.asp页面的代码发上来看看。

2007-03-05 15:55
快速回复:[求助]一个非常郁闷的事
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015944 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved