William_Riker

웹 보안 - HTML & JavaScript 기초

Oct 1st, 2026 (edited)
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.45 KB | None | 0 0
  1. 기본 구조
  2. <!DOCTYPE html>
  3. <html lang="ko">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>페이지 제목</title>
  7. </head>
  8. <body>
  9. <!-- 페이지 내용 -->
  10. <h1>안녕하세요</h1>
  11. <p>이것은 단락입니다.</p>
  12. </body>
  13. </html>
  14.  
  15. 주요 HTML 태그
  16. 1. 제목 태그
  17. <h1>가장 큰 제목</h1>
  18. <h2>두 번째 제목</h2>
  19. <h3>세 번째 제목</h3>
  20. <h4>네 번째 제목</h4>
  21. <h5>다섯 번째 제목</h5>
  22. <h6>가장 작은 제목</h6>
  23.  
  24. 2. 텍스트 관련 태그
  25. <p>단락(Paragraph)</p>
  26. <br> <!-- 줄바꿈 -->
  27. <strong>굵은 텍스트</strong>
  28. <em>강조된 텍스트</em>
  29. <span>인라인 컨테이너</span>
  30.  
  31. 3. 링크와 이미지
  32. <a href="https://www.example.com">링크 텍스트</a>
  33. <img src="image.jpg" alt="이미지 설명">
  34.  
  35. 3. HTML 실습
  36. 실습 1: 간단한 프로필 페이지
  37. <!DOCTYPE html>
  38. <html lang="ko">
  39. <head>
  40. <meta charset="UTF-8">
  41. <title>내 프로필</title>
  42. </head>
  43. <body>
  44. <h1>홍길동의 프로필</h1>
  45.  
  46. <h2>자기소개</h2>
  47. <p>안녕하세요. 한세대학교 학생 홍길동입니다.</p>
  48.  
  49. <h2>관심 분야</h2>
  50. <ul>
  51. <li>웹 보안</li>
  52. <li>인공지능 프로그래밍</li>
  53. <li>리눅스 시스템</li>
  54. <li>디지털 포렌식 고급</li>
  55. </ul>
  56.  
  57. <h2>연락처</h2>
  58. <p>이메일: <a href="mailto:[email protected]">[email protected]</a></p>
  59. </body>
  60. </html>
  61.  
  62. 실습 2: 폼(Form) 만들기
  63. <!DOCTYPE html>
  64. <html lang="ko">
  65. <head>
  66. <meta charset="UTF-8">
  67. <title>로그인 폼</title>
  68. </head>
  69. <body>
  70. <h1>로그인</h1>
  71.  
  72. <form action="/login" method="POST">
  73. <label for="username">아이디:</label>
  74. <input type="text" id="username" name="username" required>
  75. <br><br>
  76.  
  77. <label for="password">비밀번호:</label>
  78. <input type="password" id="password" name="password" required>
  79. <br><br>
  80.  
  81. <button type="submit">로그인</button>
  82. </form>
  83. </body>
  84. </html>
  85.  
  86. [ 폼 요소 설명 ]
  87. <form>: 폼의 시작과 끝
  88. action: 데이터를 전송할 URL
  89. method: HTTP 메서드 (GET, POST)
  90. <input>: 입력 필드
  91. type: 입력 타입 (text, password, email, number 등)
  92. <label>: 입력 필드 레이블
  93.  
  94. [ JavaScript 사용 방법 ]
  95.  
  96. 1. 인라인 스크립트
  97. <button onclick="alert('클릭!')">버튼</button>
  98.  
  99. 2. 내부 스크립트
  100. <script>
  101. console.log('Hello, JavaScript!');
  102. </script>
  103.  
  104. 3. 외부 스크립트
  105. <script src="script.js"></script>
  106.  
  107. 변수 선언
  108. // var (구식 - 사용 비권장)
  109. var name = '홍길동';
  110.  
  111. // let (변경 가능한 변수)
  112. let age = 20;
  113. age = 21; // 변경 가능
  114.  
  115. // const (상수 - 변경 불가)
  116. const PI = 3.14159;
  117. // PI = 3.14; // 에러 발생!
  118.  
  119. 데이터 타입
  120. // 숫자
  121. let number = 42;
  122. let decimal = 3.14;
  123.  
  124. // 문자열
  125. let text = "안녕하세요";
  126. let quote = '작은따옴표도 가능';
  127.  
  128. // 불리언
  129. let isStudent = true;
  130. let hasGraduated = false;
  131.  
  132. // null과 undefined
  133. let empty = null;
  134. let notDefined;
  135.  
  136. // 배열
  137. let fruits = ['사과', '바나나', '오렌지'];
  138.  
  139. // 객체
  140. let person = {
  141. name: '홍길동',
  142. age: 20,
  143. major: '융합보안전공'
  144. };
  145.  
  146. [ JavaScript 실습 ]
  147.  
  148. 연산자
  149. // 산술 연산자
  150. let a = 10;
  151. let b = 3;
  152.  
  153. console.log(a + b); // 13
  154. console.log(a - b); // 7
  155. console.log(a * b); // 30
  156. console.log(a / b); // 3.333...
  157. console.log(a % b); // 1 (나머지)
  158.  
  159. // 비교 연산자
  160. console.log(5 == '5'); // true (값만 비교)
  161. console.log(5 === '5'); // false (타입도 비교) - 권장!
  162. console.log(10 > 5); // true
  163. console.log(10 <= 10); // true
  164.  
  165. // 논리 연산자
  166. console.log(true && false); // false (AND)
  167. console.log(true || false); // true (OR)
  168. console.log(!true); // false (NOT)
  169.  
  170. 조건문
  171. let score = 85;
  172.  
  173. if (score >= 90) {
  174. console.log('A학점');
  175. } else if (score >= 80) {
  176. console.log('B학점');
  177. } else if (score >= 70) {
  178. console.log('C학점');
  179. } else {
  180. console.log('재수강');
  181. }
  182.  
  183. 반복문
  184. // for 문
  185. for (let i = 0; i < 5; i++) {
  186. console.log('반복 ' + i);
  187. }
  188.  
  189. // while 문
  190. let count = 0;
  191. while (count < 3) {
  192. console.log('카운트: ' + count);
  193. count++;
  194. }
  195.  
  196. // 배열 반복
  197. let colors = ['빨강', '파랑', '초록'];
  198. for (let color of colors) {
  199. console.log(color);
  200. }
  201.  
  202. 함수
  203. // 함수 선언
  204. function greet(name) {
  205. return '안녕하세요, ' + name + '님!';
  206. }
  207.  
  208. console.log(greet('홍길동')); // 안녕하세요, 홍길동님!
  209.  
  210. // 화살표 함수 (ES6)
  211. const add = (a, b) => {
  212. return a + b;
  213. };
  214.  
  215. // 간단한 형태
  216. const multiply = (a, b) => a * b;
  217.  
  218. console.log(add(5, 3)); // 8
  219. console.log(multiply(4, 2)); // 8
  220.  
  221. [ 이벤트 처리 ]
  222. 이벤트 리스너 등록
  223. // HTML에서 직접 (비권장)
  224. <button onclick="alert('클릭!')">버튼</button>
  225.  
  226. // JavaScript에서 등록 (권장)
  227. let button = document.getElementById('myButton');
  228.  
  229. button.addEventListener('click', function() {
  230. alert('버튼이 클릭되었습니다!');
  231. });
  232.  
  233. // 화살표 함수 사용
  234. button.addEventListener('click', () => {
  235. console.log('클릭 이벤트 발생');
  236. });
  237.  
  238. 주요 이벤트 타입
  239. // 마우스 이벤트
  240. element.addEventListener('click', handleClick);
  241. element.addEventListener('dblclick', handleDoubleClick);
  242. element.addEventListener('mouseenter', handleMouseEnter);
  243. element.addEventListener('mouseleave', handleMouseLeave);
  244.  
  245. // 키보드 이벤트
  246. input.addEventListener('keydown', handleKeyDown);
  247. input.addEventListener('keyup', handleKeyUp);
  248. input.addEventListener('keypress', handleKeyPress);
  249.  
  250. // 폼 이벤트
  251. form.addEventListener('submit', handleSubmit);
  252. input.addEventListener('change', handleChange);
  253. input.addEventListener('focus', handleFocus);
  254. input.addEventListener('blur', handleBlur);
  255.  
  256. // 페이지 이벤트
  257. window.addEventListener('load', handlePageLoad);
  258. document.addEventListener('DOMContentLoaded', handleDOMReady);
  259.  
  260. 이벤트 객체
  261. button.addEventListener('click', function(event) {
  262. console.log('이벤트 타입:', event.type);
  263. console.log('타겟 요소:', event.target);
  264. console.log('마우스 X 좌표:', event.clientX);
  265. console.log('마우스 Y 좌표:', event.clientY);
  266.  
  267. // 기본 동작 막기
  268. event.preventDefault();
  269. });
  270.  
  271. // 폼 제출 막기 예시
  272. form.addEventListener('submit', function(event) {
  273. event.preventDefault(); // 페이지 새로고침 방지
  274. console.log('폼 제출 처리');
  275. });
  276.  
Advertisement