php 4

Rocky Linux Apache에서 OpenSSL 기반 TLS 1.2/1.3 활성화 및 Let’s Encrypt 인증서 발급 완벽 가이드

Rocky Linux Apache에서 OpenSSL 기반 TLS 1.2/1.3 활성화 및 Let’s Encrypt 인증서 발급 완벽 가이드이 글에서는 Rocky Linux 8/9 환경에서 Apache 웹 서버에 HTTPS를 안정적으로 구성하기 위한 모든 과정을 다룹니다. OpenSSL 기반으로 TLS 1.2·1.3을 활성화하고, Let’s Encrypt 무료 인증서를 Certbot으로 발급·자동 갱신 설정까지 단계별로 상세히 설명합니다.1. TLS(Transport Layer Security)란 무엇인가?TLS는 인터넷 상에서 주고받는 데이터를 암호화하고, 통신 무결성을 검증하며, 양쪽의 신원을 확인해주는 보안 프로토콜입니다. HTTP, SMTP, FTP 등 애플리케이션 계층 위에서 “HTTPS” 같은..

PHP에서 MariaDB를 다루는 방법: PDO와 MySQLi의 비교와 범용 클래스 활용

PHP에서 MariaDB를 다루는 방법: PDO와 MySQLi의 비교와 범용 클래스 활용PHP로 웹 애플리케이션을 개발할 때 데이터 저장과 조회는 필수적인 과정입니다. 특히 MariaDB는 MySQL과 완벽한 호환을 유지하면서도 성능과 기능 면에서 많은 장점을 제공하므로 국내외에서 널리 사용되고 있습니다. 본문에서는 PHP의 대표적인 두 확장 모듈인 PDO와 MySQLi를 비교·분석하고, 이를 응용한 범용 PHP 클래스인 MariaDBHandler를 소개합니다. 실제 코드 예제와 보안·성능 팁까지 함께 다루어, 여러분의 프로젝트에 바로 적용 가능한 실전 가이드를 제공합니다.1. 들어가며데이터베이스를 다루는 방법은 프로젝트의 유지보수성과 확장성을 결정짓는 핵심 요소입니다. 어떤 라이브러리를 선택하느냐에 따..

프로그래밍/PHP 2025.07.13

PHP 패키지 관리의 기준, Composer 입문부터 실전까지

PHP 패키지 관리의 기준, Composer 입문부터 실전까지PHP는 오랫동안 전 세계에서 가장 널리 사용된 웹 프로그래밍 언어 중 하나로, 워드프레스나 Laravel 같은 프레임워크를 통해 풍부한 생태계를 구축해왔습니다. 이런 PHP 생태계 속에서 안정적으로 외부 라이브러리를 관리하고, 협업 중에도 충돌 없이 패키지를 공유하기 위해서는 Composer라는 의존성 관리 도구에 대한 이해가 꼭 필요합니다.이 글에서는 Composer의 배경부터 실전 활용법, 프로젝트 내 구성 파일 설명, 자동 로딩 방식, 협업 시 주의해야 할 사항까지 초심자도 이해할 수 있는 수준으로 안내합니다. 특히 composer.lock의 비교 방식과 autoload 경로 매핑은 입문자는 물론 초급 실무자에게도 도움이 될 만한 실전 ..

프로그래밍/PHP 2025.07.12

PHP로 클라이언트 IP 정확하게 추출하고 사용자 위치 분석하기

PHP로 클라이언트 IP 정확하게 추출하고 사용자 위치 분석하기– HTTP 헤더, IP Spoofing 대응, GeoIP, 데이터 분석 자동화까지1. 접속자의 위치를 어떻게 판단할 것인가?웹사이트를 운영하다 보면 방문자의 위치나 접속 환경이 궁금해질 때가 있습니다. 이 모든 출발점은 클라이언트의 IP 주소를 정확히 식별하는 것입니다. 하지만 생각보다 이 IP는 단순하지 않습니다. CDN, 프록시 서버, 로드밸런서가 개입된 구조에서는 일반적인 방식으로는 진짜 사용자 IP를 알기 어렵습니다.2. 단순히 $_SERVER['REMOTE_ADDR']는 부족하다PHP에서 IP를 가져오는 기본 방식은 아래와 같습니다.$ip = $_SERVER['REMOTE_ADDR'];하지만 이 방식은 Cloudflare나 프록시를..

프로그래밍/PHP 2025.06.15