DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: liangjiping168
今日帖子: 16
在线用户: 8
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 lalnh (才人) ★☆☆☆☆ -
普通会员
2003/7/4 23:33:28
标题:
勤工助学管理系统[系版] v1.0的一个安全漏洞!!! 浏览:2511
加入我的收藏
楼主: 勤工助学管理系统[系版] v1.0的一个安全漏洞:不知道大家注意到了没有,进
入系统时出现一个登录密码验证框,如果不知道密码的话似乎进不去。但是,
如果你直接点密码对话框右上角的关闭符号的话,看看会发生什么情况:你会
发现不用输任何密码就可以轻而易举地进入系统了,原因是程序作者忘了给该
这个窗体的右上角关闭事件编写代码,但用什么方法或语句判断用户是直接关接
窗体的关闭符号呢来关闭窗体的?

(用判断窗体的OnCloseQuery事件好象不行,因为在密码窗体发生Close事
件时,首先会激活该窗体的OnCloseQuery 事件。)

本人手头没有这方面的资料。有那位高手知道,请指点一、二。

----------------------------------------------
-
作者:
男 linker (小心) ★☆☆☆☆ -
盒子活跃会员
2003/7/5 8:52:36
1楼: 用ONCLOSEQUERY事件能控制窗口的关闭,如下:
  CANCLOSE:=FALSE;
加入此代码后窗口就不能关闭了。
----------------------------------------------
按此在新窗口浏览图片 按此在新窗口浏览图片
作者:
男 lalnh (才人) ★☆☆☆☆ -
普通会员
2003/7/5 22:19:07
2楼: 我不干脆将窗体的BiSystemMenu属性设为false.不更好吗?
----------------------------------------------
-
作者:
男 zwcih (zwcih) ★☆☆☆☆ -
盒子活跃会员
2003/7/5 22:48:11
3楼: 这样做,在登陆窗体的onclose中加入以下代码
if form_main.login=false
  then 结束程序
----------------------------------------------
-
作者:
男 linlinghuihui (欢乐八方) ★☆☆☆☆ -
盒子活跃会员
2003/7/6 13:46:17
4楼: 2楼的说法还是不够好,因为把bisystemmenu属性设为false的话,用alt+f4键还是可以把它关闭,所以没有解决根本的问题!
----------------------------------------------
-
作者:
男 linlinghuihui (欢乐八方) ★☆☆☆☆ -
盒子活跃会员
2003/7/6 14:07:49
5楼: 这样行不行,在登陆窗体的onclose事件中加如下的代码:
if edit1.text<>mypass then frm_main.close;
----------------------------------------------
-
作者:
男 lalnh (才人) ★☆☆☆☆ -
普通会员
2003/7/6 15:43:58
6楼: 三楼的说法不行吧,这样就实现不了主窗体的正常登录了,我们要的就是在主窗体登录的时候同时关闭密码对话框
四楼说的可以,我们可以把ALT+F4屏蔽掉
五楼的说法也不可能不行
----------------------------------------------
-
作者:
男 lalnh (才人) ★☆☆☆☆ -
普通会员
2003/7/6 15:50:44
7楼: if edit1.text<>mypass then frm_main.close;

如果 edit1.text=mypass 那不就关不了登录框吗?
----------------------------------------------
-
作者:
男 linlinghuihui (欢乐八方) ★☆☆☆☆ -
盒子活跃会员
2003/7/6 16:05:54
8楼: 是的,要是=mypass的话就关不了了!
干脆就在登陆框的onclose事件当中结束主窗体好了!
procedure Tfrm_login.FormClose(Sender: TObject; var Action: TCloseAction);
begin
frm_main.Close ;
end;
----------------------------------------------
-
作者:
男 lalnh (才人) ★☆☆☆☆ -
普通会员
2003/7/7 12:41:37
9楼: 八楼的兄弟也行不通吧,如果密码正确,你想想是不是关闭登录框的同时也关闭了主窗体?
我看较好的办法就是:bisystemmenu属性设为false,然后屏蔽ALT+F4键,但屏蔽
ALT+F4键怎么实现?那位大侠知道?
----------------------------------------------
-
作者:
男 lalnh (才人) ★☆☆☆☆ -
普通会员
2003/7/7 13:05:59
10楼: procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
if (ssAlt in shift)and(key=115) then key:=0;
end;

----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行66.40625毫秒 RSS