Đăng nhập sai 5 lần chờ 15 phút

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Thấy các diễn đàn chỉ cho đăng nhạp 5 lần,nếu sai thì 15 phút sau mới cho đang nhập lại.Thế thì mình nghĩ ra ý tương rằng,cái này chúng ta có thể áp dụng trong Form đăng nhập được không.Điều kiện:
 Đăng nhập sai 5 lần thì dù có đăng nhập đúng đi chăng nữa cũng không vào đuợc CSDL.Không tính tới trường hợp đăng nhập quá số lần sẽ thoát ah nghen
 Khi người dùng tắt CSDL rồi đăng nhập lại thì phải cách nhau 15 hay bao nhiêu phút là tuỳ vào mình đặt.Như thế thì phải làm những gì.[you] có ghé qua thì cũng thảo luận nhen.
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Thấy các diễn đàn chỉ cho đăng nhạp 5 lần,nếu sai thì 15 phút sau mới cho đang nhập lại.Thế thì mình nghĩ ra ý tương rằng,cái này chúng ta có thể áp dụng trong Form đăng nhập được không.Điều kiện:
 Đăng nhập sai 5 lần thì dù có đăng nhập đúng đi chăng nữa cũng không vào đuợc CSDL.Không tính tới trường hợp đăng nhập quá số lần sẽ thoát ah nghen
 Khi người dùng tắt CSDL rồi đăng nhập lại thì phải cách nhau 15 hay bao nhiêu phút là tuỳ vào mình đặt.Như thế thì phải làm những gì.[you] có ghé qua thì cũng thảo luận nhen.
Xin giới thiệu bạn hàm Sleep( số miligiây) dùng để delay chương trình
Để dùng hàm nay, bạn phải khai báo API.
Tạo 1 module và khai báo API sau:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Trong form đăng nhập, bạn tạo 1 biến để đếm. Sau mỗi lần nhập pass nó sẽ đếm lên 1.
Mã:
dem=dem+1
If Dem mod 5 =0 then
  MsgBox "Sai Pass 5 lan, ban phai cho 15 phut moi duoc dang nhap"
   Sleep (1800000)
End If

---------------------------------------------------------------------
Bạn cũng có thể lợi dụng timer của Form ( set interval 1000 )để đếm giờ bằng cách tạo 1 biến demgiay. Khi nhập pass sai lần thứ 5, thì demgiay=0.
Trong sự kiện timer , demgiay =demgiay +1
Như vậy. bắt đầu kiểm tra pass, bạn đặt điều kiện:
If (dem mod 5 =0 ) and (demgiay < 180 =0) then
msgbox " bạn nhap sai pass 5 lan, ban phai doi 15 phut moi nhap lai duoc, thoi gian con lai : " & 180 - demgiay & "giay"
else
' doan code kiem tra pass
dem = dem +1
demgiay=0
End If
 
Sửa lần cuối:
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Xin giới thiệu bạn hàm Sleep( số miligiây) dùng để delay chương trình
Để dùng hàm nay, bạn phải khai báo API.
Tạo 1 module và khai báo API sau:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Trong form đăng nhập, bạn tạo 1 biến để đếm. Sau mỗi lần nhập pass nó sẽ đếm lên 1.
Mã:
dem=dem+1
If Dem mod 5 =0 then
  MsgBox "Sai Pass 5 lan, ban phai cho 15 phut moi duoc dang nhap"
   Sleep (1800000)
End If

---------------------------------------------------------------------
Bạn cũng có thể lợi dụng timer của Form ( set interval 1000 )để đếm giờ bằng cách tạo 1 biến demgiay. Khi nhập pass sai lần thứ 5, thì demgiay=0.
Trong sự kiện timer , demgiay =demgiay +1
Như vậy. bắt đầu kiểm tra pass, bạn đặt điều kiện:
If (dem mod 5 =0 ) and (demgiay < 180 =0) then
msgbox " bạn nhap sai pass 5 lan, ban phai doi 15 phut moi nhap lai duoc, thoi gian con lai : " & 180 - demgiay & "giay"
else
' doan code kiem tra pass
dem = dem +1
demgiay=0
End If
Ý của PHUYEN89 là khi đăng nhập 5 lần sai pass là chương trình tự thoát (đếm đến 5 là application.quit) và phải 15 phút sau người dùng mới có thể vào lại chương trình được.
Ý của LoveBlue là đếm đến 5, chương trình vẫn đang chạy nhưng delay.
Vấn đề của PHUYEN89 khó quá.
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Ý của PHUYEN89 là khi đăng nhập 5 lần sai pass là chương trình tự thoát (đếm đến 5 là application.quit) và phải 15 phút sau người dùng mới có thể vào lại chương trình được.
Ý của LoveBlue là đếm đến 5, chương trình vẫn đang chạy nhưng delay.
Vấn đề của PHUYEN89 khó quá.
Mình vẫn không hiểu được nghĩa sâu xa của từ delay là gì nữa.haquocquan giải nghĩa giùm them nha
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Mình vẫn không hiểu được nghĩa sâu xa của từ delay là gì nữa.haquocquan giải nghĩa giùm them nha
Dịch nghĩa thì chịu. Nhưng nôm na là: tạm dừng hoặc hoãn lại
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Cũng không khó lắm. Mình giới nói sơ giải thuật nhé, còn bạn hiện thực ;;)

Khi đăng nhập 5 lần, chương trình sẽ lưu thời gian hệ thống + số lần đăng nhập vào registry, sau đó thoát ra.
Khi log vào. Đầu tiên nó kiểm tra lý do thoát chương trình có phải do sai pass 5 lần không? Nếu phải thì từ đó tới thời gian hiện tại của hệ thống quá 15 phút chưa? Nếu chưa thì thông báo chờ thêm xx phút. Thoát ra. Nếu quá 15 phút thì reset biến lưu trong registry về 0, cho đăng nhập lại từ đầu.

Sẵn đây giới thiệu với các bạn 4 hàm dùng thao tác với registry:
Mã:
SaveSetting (appname, section, key, setting) : dùng ghi vào registry
GetSetting(appname, section, key[, default]) : đọc giá trị từ registry
DeleteSetting (appname, section[, key] ) : xoá giá trị trong registry
GetAllSettings(appname, section) : Lấy hết giá trị của ứng dụng được lưu tại section
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Cũng không khó lắm. Mình giới nói sơ giải thuật nhé, còn bạn hiện thực ;;)

Khi đăng nhập 5 lần, chương trình sẽ lưu thời gian hệ thống + số lần đăng nhập vào registry, sau đó thoát ra.
Khi log vào. Đầu tiên nó kiểm tra lý do thoát chương trình có phải do sai pass 5 lần không? Nếu phải thì từ đó tới thời gian hiện tại của hệ thống quá 15 phút chưa? Nếu chưa thì thông báo chờ thêm xx phút. Thoát ra. Nếu quá 15 phút thì reset biến lưu trong registry về 0, cho đăng nhập lại từ đầu.

Sẵn đây giới thiệu với các bạn 4 hàm dùng thao tác với registry:
Mã:
SaveSetting (appname, section, key, setting) : dùng ghi vào registry
GetSetting(appname, section, key[, default]) : đọc giá trị từ registry
DeleteSetting (appname, section[, key] ) : xoá giá trị trong registry
GetAllSettings(appname, section) : Lấy hết giá trị của ứng dụng được lưu tại section
LoveBlue cho hỏi thêm một chút nhé: thực ra sau một thời gian tôi thấy chủ đề này cũng có cái hay. Cho nên đang định có ý tưởng thế này:
Một user: nếu 3 lần không vào được (tức là có 3 lần nhập sai pass 5 lần) thì user đó không thể vào được nữa, các user khác vẫn vào được bình thường. Và sau đó, để vào được, người quản trị sẽ có lệnh cho phép người đó tiếp tục vào chương trình.
LoveBlue hướng dẫn tôi với nhé. Thanhks.
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

delay có nghĩa là sự chậm trễ,trì hoãn,vậy thì ở đây chắc nó có nghĩa là việc đăng nhập phải chậm lại,hoãn lại
mình nghĩ là như vậy
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Giờ mới nghĩ ra, thật lẩm cẩm. Chỉ cần tạo 1 table lưu lịch sử đăng nhập bao gồm Loginhistory(UserName, timer, loginCouter)

Mỗi khi bạn nhấn OK, nó sẽ ghi vào table này 1 dòng với loginCouter tăng dần.
Như vậy nếu bị out ra, nó sẽ so sánh với thời gian sau cùng của user đó và loginCouter là được! Không cần gì dùng đến hàm ghi registry! :matdeu:
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Xin giới thiệu bạn hàm Sleep( số miligiây) dùng để delay chương trình
Để dùng hàm nay, bạn phải khai báo API.
Tạo 1 module và khai báo API sau:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Trong form đăng nhập, bạn tạo 1 biến để đếm. Sau mỗi lần nhập pass nó sẽ đếm lên 1.
Mã:
dem=dem+1
If Dem mod 5 =0 then
  MsgBox "Sai Pass 5 lan, ban phai cho 15 phut moi duoc dang nhap"
   Sleep (1800000)
End If

---------------------------------------------------------------------
Bạn cũng có thể lợi dụng timer của Form ( set interval 1000 )để đếm giờ bằng cách tạo 1 biến demgiay. Khi nhập pass sai lần thứ 5, thì demgiay=0.
Trong sự kiện timer , demgiay =demgiay +1
Như vậy. bắt đầu kiểm tra pass, bạn đặt điều kiện:
If (dem mod 5 =0 ) and (demgiay < 180 =0) then
msgbox " bạn nhap sai pass 5 lan, ban phai doi 15 phut moi nhap lai duoc, thoi gian con lai : " & 180 - demgiay & "giay"
else
' doan code kiem tra pass
dem = dem +1
demgiay=0
End If
Bác Love Blue đặt là Sleep(1800000) em tính mãi mà ra tới 30 phút,không biết là có tính nhầm không.(1800000/1000/60)=30 phút cơ.
Cái mà Love Blue chỉ mình làm,mình xin Upload lại.http://www.mediafire.com/file/mdzmlni2hje/password.mdb
Cái deplay mà Love dùng chỉ trì hoản sự đăng nhập thôi.Cũng rất tốt,nhung chưa đáp ứng với yêu cầu giống như là hình thức đăng nhập thường áp dụng với các diễn đàn
-----------------------------------------------------------------------------------------
Giờ mới nghĩ ra, thật lẩm cẩm. Chỉ cần tạo 1 table lưu lịch sử đăng nhập bao gồm Loginhistory(UserName, timer, loginCouter)

Mỗi khi bạn nhấn OK, nó sẽ ghi vào table này 1 dòng với loginCouter tăng dần.
Như vậy nếu bị out ra, nó sẽ so sánh với thời gian sau cùng của user đó và loginCouter là được! Không cần gì dùng đến hàm ghi registry! :matdeu:

Bác hướng dẫn vào trong một chút giùm đi ah.Việc tạo bảng thì ai cũng lam được nhưng làm sao nữa để cho nó liên kết với các bảng khi mà ta đăng nhập vào hay thoát ra là cả một vấn đề lớn với trinh độ của tụi em hiện tại đấy.
 
Sửa lần cuối:
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Không biết các bạn như thế nào chứ theo tôi nghĩ form login chỉ để bảo mật không cho người khác vào chương trình của mình thôi,cứ làm theo những phần mềm trên thị trường. Quan trọng hơn nữa là chương trình của mình thôi.tìm thêm những vấn đề đó mệt người không giải quyết được gì cả
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Không biết các bạn như thế nào chứ theo tôi nghĩ form login chỉ để bảo mật không cho người khác vào chương trình của mình thôi,cứ làm theo những phần mềm trên thị trường. Quan trọng hơn nữa là chương trình của mình thôi.tìm thêm những vấn đề đó mệt người không giải quyết được gì cả

Không phải là bảo mật là chủ yếu.
Form login chủ yếu là để biết người dùng là ai để từ đó chương trình có hổ trợ thích hợp.
Chẳng hạn như chỉ hiển thị các phần việc của người đó thay vì đưa lên đủ thứ làm rối mắt ...
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Ý của PHUYEN89 là khi đăng nhập 5 lần sai pass là chương trình tự thoát (đếm đến 5 là application.quit) và phải 15 phút sau người dùng mới có thể vào lại chương trình được.
Ý của LoveBlue là đếm đến 5, chương trình vẫn đang chạy nhưng delay.
Vấn đề của PHUYEN89 khó quá.
Ý của bạn LoveBlue là nhập sai 5 lần thì chương trình sẽ về trạng thái nghỉ đó. Bạn nào thấy biểu tượng chuột khi mà đang bị đơ không. Đấy. Nó gần giống như thế vì chương trình vẫn trên màn hình nhưng không thoát và không sử dụng được. Mình làm thấy thế, chẳng biết đúng hay sai nữa. Hi hì Có gì bỏ qua nhé:roile:
Mình có 1 ý tưởng như thế này. Trên form đăng nhập sẽ có 3nút là đăng nhập, hủy, nút cuối sẽ chạy thời gian như 1 cái đồng hồ ấy. Và không phải nhập sai 5 lần như bạn LoveBlue nói mà mình để là sau khi nhập tên truy nhập thì 30 giây sau phải nhập mật khẩu đúng vào đó. Sai thì thời gian vẫn chạy. Nhưng quá 30 giây thì nó sẽ nghỉ 15phút.Bạn nào biết nhiều giúp mình với. mail của mình là hiennguyen.csc@gmail.com
nick của mình là thuhien_youcometoo. Cám ơn các bạn trước nha.
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Delay là tạm dừng đúng như bạn haquocquan nói. Khi chương trình đang chạy. Vì máy tính chạy chương trình rất nhanh bạn không thể nhìn thấy rõ các bước được. Delay chẳng qua là cho tốc độ nó chạy chậm ở đoạn đó cho bạn xem kết quả.
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Bạn có thể viết chương trình cụ thể không? Mình không hiểu lắm và chẳng biết làm thế nào cả.
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Theo ý kiến cá nhân :
1/ Tạo một table tblKiemTra gồm các trường UserName, Date, Time
2/ Trong formLogin khi biến đếm đến 5 thì ghi ngày hiện hành, thời gian hiện hành vào hai trường Date và Time ứng với UserName hiện hành và cho hiện thông báo chờ 15 phút sau đó App.Quit(Lưu ý chỉ khi biến đếm đến 5 thì mới ghi dữ liệu còn không tì không ghi)
3/ Khi login lần sau, kiểm tra ngày hệ thống và thời gian tương ứng với UserName đăng nhập. Nếu thời gian >15phút thì OK, xóa hai trường tương ứng. Ngược lại ra thông báo thời gian chờ

Hiện nay do công việc quá bận nên không làm file được, mong các bạn tông cảm và làm thử theo hướng này xem
Chuc vui
Thân
 
Sửa lần cuối:
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Nhập sai pass, yêu cầu sau bao lâu là quyền của người lập trình.
Các bạn chạy thử DEMO. Tôi đặt, sau 15 ngày mới tiếp tục được truy cập.
Lưu ý: chỉ vào được user: 02 và 03; pass là: 123.
http://www.mediafire.com/?cmwhzjy4ohk
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Nhập sai pass, yêu cầu sau bao lâu là quyền của người lập trình.
Các bạn chạy thử DEMO. Tôi đặt, sau 15 ngày mới tiếp tục được truy cập.
Lưu ý: chỉ vào được user: 02 và 03; pass là: 123.
http://www.mediafire.com/?cmwhzjy4ohk

To haquocquan
Bạn thử dùng Seek xem có hay hơn Findfisrt không? Và có thể tốc độ sẽ nhanh hơn và viết code ...ít hơn
Thân
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

To haquocquan
Bạn thử dùng Seek xem có hay hơn Findfisrt không? Và có thể tốc độ sẽ nhanh hơn và viết code ...ít hơn
Thân
Cám ơn XUANTHANH đã chỉ dẫn.
Thực ra mình không biết sử dụng cú pháp SEEK.
Mình toàn tự học thôi, cho nên chưa hiểu được nhiều lắm. Nhờ XUANTHANH hướng dẫn cụ thể nhé. Thanks
 
Ðề: Đăng nhập sai 5 lần chờ 15 phút

Havy_happy mù mờ cái này lắm các bác ạ
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top