php 3

PHP 동작방식 - 생명주기

PHP 재단 소식 보다가 PHP internals Book을 정리한다고 해서 보게 되었습니다. 생명주기: 프로그램은 시작되고 어떤 것이 로딩되고 실행 후 끝나고 하는 생명주기가 있습니다. PHP The internals Book (PHP 내부 동작에 관한문서) 에 관련 내용이 자세하게 나와있습니다. PHP로 작성한 코드를 실행하는 환경은 크게 두 가지가 있습니다. 1) CLI (터미널에서 실행) 하나의 요청을 처리하는 환경, 2) 웹 서버와 SAPI 인터페이스를 통해 여러 웹 요청을 처리하는 환경입니다. 1. 의 경우 간단한데요 php -s 로 시작하는 php내장 개발 서버도 여기에 해당하죠 PHP 엔진에서 해당 프로그램을 실행 후 종료합니다. 2. 웹서비스를 하려면 PHP를 nginx , 아파치등 웹서..

PHP 2022.03.27

코드이그나이터 3 REST api 라이브러리 문제들

코드이그나이터3에서 기본적인 URL라우팅 구조는 다음과 같습니다. 폴더/컨트롤러 클래스이름/함수이름 이런구조인데요 ci3 에서 restful api를 지원하는 라이브러리들은 저기 함수를 변형하여 login_post() / login_get() 이런식으로 함수이름 뒤에 http메서드를 넣습니다. 이제 api를 만들어보면 api폴더하위에 Reservation 컨트롤러에서 이런일이 생기죠 class Reservation extends RestController { public function __construct() { parent::__construct(); $this->load->library('ReservationService'); $this->load->library('session'); } //예약확..

PHP 2020.12.31

PHP SQL인젝션과 mysqli bind_param

예전에 작성한 PHP코드를 살펴보니 mysqli 로만 되어있을 뿐 쿼리에 변수를 그대로 대입해서SQL인젝션 공격에 취약했습니다.$query = "insert into parktable (total,big,mid,small,date) values ($total,$big,$md,$sm, $today)";$result = mysqli_query($dbConnect,$query);공격자가 변수에 다른 SQL문을 보내서 테이블을 지우거나 계정을 바꿀 수도있는 보안에 심각한 상황입니다.  https://modernpug.github.io/php-the-right-way/#mysql_extension PHP: The Right Way 한국어판쉽게 읽을 수 있는 PHP의 베스트 프랙티스, 코딩 표준, 권위있는 튜토리얼..

PHP 2020.04.06