N° 01 — 목록
'Database' (2)
-
Backend Development/JavaJava - 21. jdbc
Statement와 PreparedStatement의 차이가 SQL Injection을 막는 이유 — JDBC 기초// Java 25 — 위험: SQL Injection 취약Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery( "SELECT * FROM users WHERE name = '" + userInput + "'");// userInput = "'; DROP TABLE users; --" → 테이블 삭제!이 코드를 작성한 개발자는 악의가 없었다. 그냥 문자열을 연결했을 뿐이다. 하지만 공격자가 '; DROP TABLE users; --를 입력하면 SQL 문이 두 개로 나뉘어 실행된다. PreparedStateme..
-
Cloud & Infrastructure/Operating SystemLinux - 11. services
메일은 한 번에 가지 않는다 — 인터넷 서비스의 역할 분담메일을 보냈다. 바로 도착할까? 아니다. 메일은 송신자 → 송신 서버(MTA) → 수신 서버(MTA) → 메일함(MDA) → 수신자(MUA) 의 다단계 흐름을 거친다. 어디쯤 걸려 지연되는지 알려면 이 흐름을 알아야 한다. 단일 "메일 서버"라는 말이 감추는 것이 바로 이 분업이다.서버의 주된 용도가 바로 이 서비스들이다 — 웹, 이름 해석(DNS), 메일, 파일 공유, 데이터베이스. 각각 고유한 프로토콜·포트·패키지·설정 파일을 갖는다. 이 글은 그 매핑과, 서비스가 "설치했는데 외부 접속이 안 될 때"의 3단계 진단을 다룬다.서비스는 역할별 부서다 — 포트가 내선 번호다서버는 하나의 회사, 각 서비스는 부서이자 안내 데스크다. 각 부서에 고유 ..