programming/php

preg_match

설명 정규식이 일치하는지 수행한다. preg_match(string $pattern, string $subject, array $matches = null, int $flags=0, int $offset=0): int|false parameters pattern 검색할 패턴(문자열) subject 입력 문자열 matches 입력 문자열이 패턴과 일치하면, 검색된 결과가 배열 형태로 저장된다. flags PREG_OFFSET_CAPTURE : 모든 일치 항목에 대해 오프셋 단위를 배열로 반환 PREG_UNMATCHED_AS_NULL : 일치하지 않으면 null 값을 반환하고 그렇지 않으면 빈 문자열 반환 offset 시작 문자열 위치 지정 보통 처음부터 시작 pattern 검색할 패턴은 / 문자로 둘러싸여..

programming/php 2023.01.04

mb_convert_encoding

설명 mb_convert_encoding(array|string $string, string $to_encoding, array|string|null $from_encoding = null): array|string|false 문자열을 한 인코딩(from)에서 다른 인코딩(to)으로 변환 parameters string 변환할 문자열 또는 배열 to_encoding 변환할 인코딩 from_encoding 현재 인코딩 return 인코딩된 문자열 또는 배열 취약점 멀티바이트를 사용하는 utf-8 환경에서 %a1~%fe 값과 백슬래시(\)에 해당하는 %5c가 합쳐져서 하나의 문자를 나타내게 된다. %a1~%fe으로 magic_quotes_gpc 옵션 우회 가능하다.

programming/php 2023.01.02

magic_quotes_gpc

php.ini 파일에 작성되어 있는 설정값 디폴트는 on이며, 자동적으로 모든 GET, POST, COOKIE 데이터에 addslashes() 처리 사용자 입력 값에 쿼리를 조작하기 위한 ', %27 등이 있을 경우, 이를 백슬래시(\) 처리하여 공격을 방지한다. +우회 멀티바이트를 사용하는 언어셋(utf-8) 환경에서는 백슬래시(\) 앞에 %a1~%fe 값이 들어오면 해당 값과 백슬래시(\)에 해당하는 %5c가 합쳐져서 하나의 문자를 나타내게 된다.

programming/php 2023.01.02

substr

설명 문자열의 일부를 반환한다. substr(string &string, int $offset, ?int $length = null): string parameters string 입력 문자열 offset 문자열의 인덱스는 0부터 시작하며, 반대로는 -1부터 되돌아온다. offset이 설정되어 있지 않다면 시작점은 0이다. length 양수는 반환 문자열 개수를, 음수는 인덱스를 의미한다. 인덱스 전까지 반환하며, 생략되거나 null이면 offset부터 끝까지 문자열이 반환된다. example

programming/php 2023.01.02

$_FILES

$_FILES HTTP 파일 업로드 변수 HTTP POST 메서드를 통해 업로드된 항목의 배열 업로드된 모든 파일 정보가 포함된다. $_FILES['userfile']['name'] 클라이언트 기계에 있는 파일의 원본 이름 $_FILES['userfile']['type'] 브라우저가 이 정보를 제공한 경우, 파일의 MIME 유형 ex) image/gif php 측에서 MIME 유형은 확인되지 않으므로 확실하지는 않다. $_FILES['userfile']['size'] 업로드된 파일의 사이즈, 바이트 $_FILES['userfile']['tmp_name'] 서버에 저장되는 업로드된 파일의 임시 이름 $_FILES['userfile']['error'] 업로드된 파일과 연관된 에러 코드 $_FILES['use..

programming/php 2023.01.02