• Thứ Sáu, 17/03/2006 13:54 (GMT+7)

    Đặt password truy cập internet bằng ADSL

    Câu hỏi :
    Gia đình dùng mạng ADSL. Tôi muốn viết chương trình C++ đặt chế độ hẹn giờ, nếu ai không biết password thì chỉ dùng được 30 phút, còn nếu biết password thì có thể dùng thoải mái. Xin hướng dẫn.


    Trả lời :

    Khi có 1 yêu cầu cần giải quyết bằng máy tính, nếu yêu cầu đó khả thi và không quá phức tạp (thường là vậy) thì bạn có thể dùng bất kỳ ngôn ngữ lập trình nào để hiện thực chương trình đáp ứng yêu cầu của mình. Vấn đề thiết yếu trong việc phát triển 1 phần mềm là phải nắm bắt thật rõ ràng, chi tiết các yêu cầu, dựa trên cơ sở đó bạn sẽ phân tích, thiết kế cụ thể các thành phần của phần mềm trước khi dùng ngôn ngữ lập trình ưa thích để hiện thực chúng.

    Thí dụ yêu cầu mà bạn trình bày về chương trình cần viết chưa rõ ràng, bạn chưa xác định xem người dùng không có password dùng máy được 30 phút bằng cách nào, khi boot máy họ có thể dùng máy để truy xuất mạng ngay được 30 phút không hay cần phải chờ người nhập password hợp lệ trước khi sử dụng. Nếu phải chờ người nhập dùm password đúng thì mới dùng được 30 phút rồi máy dừng lại không cho dùng tiếp thì cách giải quyết sau đây có thể chấp nhận được (lưu ý rằng có nhiều giải pháp khác nhau để giải quyết 1 yêu cầu):

    1. cài và dùng WinXP để có thể tạo account cho người dùng. Tạo 1 account với password nào đó, thông báo password cho người được phép sử dụng thoải mái.

    2. Viết 1 ứng dụng nhỏ, nhiệm vụ chờ 30 phút (thí dụ dùng đối tượng Timer trong VB), mỗi khi hết thời gian chờ, hàm xử lý sự kiện timeout sẽ yêu cầu người dùng nhập password rồi kiểm tra xem đúng không, nếu không đúng thì gọi hàm ExitWindows() để tắt máy, còn nếu nhập đúng password thì chờ tiếp 30 phút, cứ thế lặp lại...

    3. Khai báo cho Windows biết và chạy tự động ứng dụng định giờ vừa mới viết mỗi lần boot máy (dùng tiện ích Msconfig).

    Như vậy từ đây, mỗi khi boot máy, người dùng phải nhập password, nếu không biết, họ phải nhờ người biết nhập dùm. Sau đó họ dùng máy được 30 phút (làm bất cứ công việc gì, ngay cả truy xuất mạng). Khi hết 30 phút, ứng dụng định giờ sẽ hỏi password, nếu họ nhập đúng thì máy chạy tiếp bình thường, nếu không máy sẽ tắt.

    Chuyên mục: Mạng - truyền thông