일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 국가정보원
- Los
- 도구모음
- MITRE ATT&CK
- 국가기록원
- 경기팀
- PHP
- 화학물질불법유통온라인감시단
- 정보보안
- codeup
- 기타정보
- 웹 해킹 입문
- 프로젝트
- nurisec
- 여행
- suninatas
- UKPT level
- 화학물질안전원
- Service
- 파이썬
- 국정원
- webhacking
- 대외활동
- 12기
- 불법유통
- HTML
- 연구모임
- UKPT
- 화학물질
- 불법유통근절
- Today
- Total
agencies
PHP 프로그래밍 본문
PHP는 Personal Home Page의 약어이며 정식 명칭은 PHP:hypertext preprocessor이다.
PHP는 1994년 라스무스 레도르프가 개발한 웹 프로그래밍 언어로 HTML CSS 자바스크립트가 함께 사용하여 다양한 형태의 웹 사이트를 제작할 수 있다.
PHP의 특징
- 대부분의 운영체제에서 구현 가능
PHP는 윈도우 매킨토시 유닉스 리눅스 등 대부분의 운영체제에서 잘 동작한다. 그중에서도 리눅스 운영체제는 중소기업이나 기관에서 PHP를 구동하는 데 가장 많이 사용하고 있다.
- 쉽고 편리한 데이터베이스 연동
PHP는 Mysql msql oracle sybase 등의 데이터베이스와 쉽고 편리하게 연동해서 사용할 수 있다.
그 중에서도 PHP와 함께 가장 많이 사용되는 것은 MySQL 데이터베이스다.
- 쉬운 코드 작성 단순한 문법
PHP의 문법은 C 언어와 많은 부분이 유사하지만 C 언어보다 훨씬 간단하여 익히기 쉽다.
문법이 단순하고 간결하여 프로그래밍하기 쉽기 때문에 다른 언어보다 프로그램 개발 시간을 단축할 수 있다는 것이 장점이다.
- 빠른 처리 속도
PHP는 일반적인 인터프리터 방식 언어인 ASP나 Peal보다 처리 속도가 훨씬 빠르다. 리눅스 운영체제에서 패키지 형태로 많이 사용하는 Apache + PHP + Mysql은 처리 속도가 더 빠르다.
주석
주석이 한 행인 경우
// 내용
주석이 여러 행인 경우
/*
내용
*/
큰따옴표와 작은따옴표의 실행 결과가 다른 경우
* 변수에 해당하는 값을 출력하려면 큰 따옴표를 사용해야 한다.
변수명과 문자열이 붙어 있는 경우 {$name}님 안녕하세요 와 같이 쓴다. (또는 아래와 같이 .을 연결해서 사용한다)
<?=$id?> 는 <?php echo $id?>를 줄여서 표기한 것이다.
구구단 출력
<table border=1 width=100>
<?php
for($a=1;$a<11;$a++)
{
for($b=1;$b<10;$b++)
{
echo "<tr><td align=center>$a x $b = ".$a*$b."</td></tr>";
}
}
?>
</table>
배열
배열은 하나의 변수명에 여러 개의 데이터를 저장할 수 있게 해주는 데이터형이다.
지금까지 변수를 만들 때 $a $b $i $sum과 같이 사용했는데 배열에는 $a[0] $a[1] 와 같이
하나의 배열 변수명으로 여러 개의 데이터를 저장 및 관리할 수 있다.
<?php
$score = array(10,20,30,40,50);
for($i=0;$i<count($score);$i++)
{ echo "score : $score[$i]<br>"; }
?>
2차원 배열
<?php
$score = array(array(1, 2, 3, 4, 5),
array(10, 20, 30, 40, 50));
echo "\$score[0][0]={$score[0][0]}<br>";
echo "\$score[1][0]={$score[1][0]}<br>";
echo "\$score[3][3]={$score[1][4]}<br>";
?>
함수의 개념
함수는 그기능이라는 개념을 가지고 있다.
함수는 함수 정의와 함수 호출로 이루어진다.
함수 정의 : 그 함수가 어떤 기능을 수행하는지 정의하는 것
함수 호출 : 정의된 함수를 호출하여 함수 정의에서 기술한 문장을 수행하는 것
<?php
function plus($a, $b)
{
echo $a+$b;
}
plus(30, 70);
?>
함수는 한 번 정의해놓으면 필요할 때 언제든지 호출해서 사용할 수 있다.
즉 프로그래밍에서 중복되는 코드를 하나로 묶어 정의하고 필요할 때마다 활용하는 것이다.
이렇게 함수를 사용하면 코드가 간결해지고 가독성을 높일수 있다.
HTTP
HTTP는 웹 브라우저와 웹 서버가 서로 소통하기 위한 프로토콜 즉 통신 규약이다.
우리가 흔히 말하는 웹도 HTTP가 제공하는 서비스를 바탕으로 이루어진다.
웹 페이지에서의 폼 양식 처리를 이해하려면 먼저 HTTP의 동작 원리를 이해해야 한다.
웹 브라우저가 HTTP 통신 규약에 의해 웹 서버에 데이터를 요청하면 웹 서버는 이를 처리하여
결과를 웹 브라우저에 돌려준다. 이러한 데이터 흐름은 아래와 같다.
1. 사용자가 웹 브라우저 주소 창에 URL 을 입력하거나 웹 페이지의 링크를 클릭한다.
2. HTTP 통신 규약에 의해 사용자의 요청이 웹서버로 전달된다.
3. 웹 서버는 사용자의 요청을 처리하여 그 결과를 HTTP 통신 규약에 의해 사용자의 웹 브라우저로 전송한다.
4. 웹 브라우저는 웹 서버가 보낸 데이터를 분석하여 화면에 출력한다.
5. 웹 브라우저 화면에 텍스트 글자 동영상 등의 형태로 나타난 요청 결과를 사용자가 확인한다.
웹 브라우저에서 웹 서버로 데이터를 전달하는 데에는 POST와 GET 방식이 있다.
POST 방식은 회원 가입 양식이나 게시판에 글을 쓸 때처럼 사용자가 폼 양식에 입력한 데이터를 웹 서버로 전달할 때 사용하며 이미지와 같은 바이너리 파일도 웹 서버로 전달할 수 있다.
GET 방식은 링크를 보낼 때 URL 주소 뒤에 데이터를 입력하여 웹 서버로 전달한다.
'Ⅲ. 정보보안' 카테고리의 다른 글
PHP 쿠키와 세션 (0) | 2024.02.10 |
---|---|
PHP 파일 업로드 (0) | 2024.02.10 |
악성 코드의 개념 (1) | 2024.02.08 |
Apache에 php 연동하는 방법 (1) | 2024.02.06 |
개인 웹 서버로 위키 만들기 (미디어 위키, XAMPP) (3) | 2024.02.06 |