-
php 관련 데몬
php.i686
php-mysql.i686
mysql.i686 client 측 mysql
mysql-server.i686 server 측 mysql
설치후 httpd 데몬 재시작 ( php는 아파치에서 해석하기떄문이다 )
확인
test.php
소스
결과
<?php
echo phpinfo()
?>
<!--
소스코드가 그대로 노출 된다면
php 가 제대로 동작되지 않는것이다.
-->
php 구조
#1 php파일의 기본 확장자는 .php를 사용
#2 서버에서 실행되며 결과(html)만을 확인한다.
>> 웹브라우저(client)는 php소스코드를 확인할 수 없다.
#3 php 파일내에서는 html을 포함할 수 있다.
--html code--
<?php // php블록의 시작
--php code --
--c 표준 함수-- // php는 C문법을 그대로 구현해놓았다.
?> // php블록의 끝
--html code--
배열
$arr = array( 100, 200, 300, 400, 500 ); //선언
$arr2 = array( "frist" => 1,
"second" => 2,
"three" => 3,
"four" => 4
); //키값과 같이 선언
echo "$arr[0]"; //하나씩
print_r( $arr ); //사전형식으로 나옴
값 전달 ( -- HTTP 표준 프로토콜에 정의된 내용 -- )
get
HTTP헤더를 통해서 전달
$_GET 변수를 통해서 전달받을 수 있다.
[ 보안상 ] 취약 : URL을 통해 입력값이 외부에 노출되어 변조가 쉽다.
[ 입력값의 제한 ] : 정해진 헤더크기보다 큰 데이터를 전송할 수 없다.
post
$_POST 변수를 통해서 전달받을 수 있다.
데이터 변수영역에 담아서 전달한다.
>> 따라서 login같은 [ form ] 형식이 생겼다.
cookie
사용자 인증에 꼭 필요한 내용
URL )))
*슈퍼글로벌스 변수 ( 미리 선언되어 있음 )
$_GET 배열 , 쿼리스트링= URL을 통해 데이터 노출
$_POST 배열 , 전달되는 데이터가 보이지 않음
$_COOKIE
$_SESSION데이터베이스 ( DATABASE )
-대용량의 데이터들을 효율적으로 관리하기 위한 도구
-데이터베이스 이저 : 파일 형태로 저장
데이터에베이스 이전 : 그냥 파일에 저장
데이터베이스 활용 : 데이터를 효율적으로 제어할수 있다. >> 나중에 사용하기 쉬운형태로
DBMS : 데이터베이스 관리 시스템
Orcle, My-SQL, MS-SQL,
리눅스 - Mysql = 3306 포트
sql 대한 설명은 리눅스 - DNS 웹서비스 참고
DDL
CREATE
create database [database]
create table [table](col type, col2 type, col3 type);
DROP
alter 사용법
http://sqlmvp.kr/220344779677
DML
SELECT
INSERT
insert into [table] values(값, 값2, 값3 ----);
insert into [table] (열1 열2 열3) values (값1 값2 값3---);
DELETE
UPDATE
cloumn type not null auto_increment Primary Key : 시퀀스추가
table의 타입
char( ) : 괄호안의 고정사이즈를 할당 ( 주민등록같은 ) - 속도가 가장빠름
varchar( ) : 가변사이즈, 최대 크기가 정해져있다. ( 작게만 사용이 가능, 비밀번호, id 같은 )
text : 65,--- 사이즈의 최대크기를 가진 가변타입
파일 명령어
$fp = fopen('file_path','mode')
fpassthru( $fp ); //모든 파일 출력
fwrite( ); //파일쓰기
flush(); 버퍼 비우기
fclose( $fp ); //파일 닫기
php database 연결
warring : 오리지널버전은 php7.0 버전 이후로 사라진다고 합니다.
DB연결
$con = mysql_connect('host','name','pass');
!$con
DB가없을경우 : if( $con ) { die(mysql_error() ); 로 에러출력가능
use database;
$con = mysql_select_db( 'database' );
insert
$query = "insert into ~";
mysql_query( $query );
select
$query = "select * from page";
$row = mysql_fetch_array( $res=mysql_query( $query ) , MYSQL_BOTH );
쿠키
세션
/var/lib/php/session/ << 에 자동으로 생성되는 pcid의 파일명으로 세션정보가 저장된다.
session_start(); #무조건 선언후 시작 => 세션아이디가 자동으로 발행
'보안 > 웹보안' 카테고리의 다른 글
[웹보안] zboard 취약점 분석 - SQL Injection (0) 2017.05.30 [웹보안] zboard 취약점 분석 (서버측언어) - 파일업로드 (0) 2017.05.29 [웹보안] zboard의 취약점 분석(클라이언트 측) (0) 2017.05.26 [웹보안] 로그인 (0) 2017.05.19