본문 바로가기

ISMS-P/보안

C 소스코드 : 인증시도 제한

SMALL

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_ATTEMPTS 5
#define MAX_USERNAME_LENGTH 20
#define MAX_PASSWORD_LENGTH 20

int main() {
    char username[MAX_USERNAME_LENGTH];
    char password[MAX_PASSWORD_LENGTH];
    int loginAttempts = 0;

    while (loginAttempts < MAX_ATTEMPTS) {
        printf("Username: ");
        scanf("%s", username);

        printf("Password: ");
        scanf("%s", password);

        // 비밀번호 검증 로직을 추가해야 합니다.
        // 예를 들어, 실제로는 데이터베이스와의 비교 등을 수행할 수 있습니다.

        if (strcmp(username, "admin") == 0 && strcmp(password, "password") == 0) {
            printf("Login successful.\n");
            break;
        } else {
            printf("Invalid username or password. Please try again.\n");
            loginAttempts++;
        }
    }

    if (loginAttempts == MAX_ATTEMPTS) {
        printf("Maximum login attempts reached. Your account is locked.\n");
        // 계정 잠금 처리 로직을 추가할 수 있습니다.
        // 예를 들어, 데이터베이스에서 해당 사용자 계정을 잠금 상태로 변경하는 등의 작업을 수행할 수 있습니다.
    }

    return 0;
}