Node.js에서 사용자로부터 입력 받은 문자열을 안전하게 HTML로 출력하기 위해서는 해당 문자열에서 특수 문자를 이스케이프 해야 합니다. 이는 XSS(크로스 사이트 스크립팅) 공격을 방지하기 위해 필요합니다. 1. 클라이언트 측에서의 처리 1.1. 특수문자 입력 허용 기본적으로 HTML의 input 요소는 특수문자를 포함한 모든 문자를 입력 받을 수 있습니다. 1.2. 입력 검증 JavaScript를 사용하여 사용자가 입력한 값에 대한 검증을 수행할 수 있습니다. 이때 특수문자가 있는지에 대한 정규식을 통해서 검색할 수 있습니다. 혹은 처럼 자바스크립트에서 이스케이프를 사용해서 특수문자를 변환해서 전송할 수 있습니다. 하지만, 클라이언트 측 검증만으로는 postman과 같은 툴로 강제로 데이터를 보내..
데이터베이스에서 쿼리를 작성하거나 수정할 때, 특수 문자를 사용해야하는 상황이 자주 발생합니다. 예를 들어, 문자열 내부에 따옴표(')나 다른 특수 문자를 포함해야 할 때가 있습니다. 데이터베이스 쿼리 작성 시, 특수 문자를 올바르게 처리하지 않으면 예기치 않은 오류나 보안 문제가 발생할 수 있습니다. 그렇기에 이번 글에서는 안전하게 특수문자를 처리하는 방법을 알아보도록 하겠습니다. 1. 특수문자의 중요성 데이터베이스 작업 중 특수문자를 사용하는 경우가 빈번합니다. 특히 문자열 내에 따옴표나 다른 특수 문자를 포함시켜야 할 때, 이를 올바르게 처리하지 않으면 문제가 발생할 수 있습니다. 'test', 'test' 와 같은 문자열을 쿼리문으로 직접 작성하면 반드시 에러가 난답니다. 2. MYSQL의 역슬래..