PHP 세션을 사용할 때, 세션 쿠키의 보안 설정은 매우 중요하다. 특히 Secure와 HttpOnly 플래그를 적절히 설정하지 않으면 보안 취약점에 노출될 수 있다. 이 글에서는 PHP에서 Secure와 HttpOnly 설정의 중요성과 쿠키가 두 번 설정되는 문제와 그 해결 방법을 함께 설명한다.Secure 플래그란?Secure 플래그는 쿠키가 HTTPS 연결에서만 전송되도록 하는 설정이다. 이를 통해 암호화되지 않은 HTTP 연결에서 쿠키가 전송되지 않도...
Read MoreLet's Encrypt 는Let’s Encrypt는 무료로 SSL/TLS 인증서를 제공하는 비영리 인증 기관(Certificate Authority, CA)입니다. 2016년에 Electronic Frontier Foundation(EFF), Mozilla, Cisco, Google, Facebook 등 여러 조직의 지원을 받아 시작되었습니다. Let’s Encrypt의 주요 목표는 웹의 보안을 강화하고 HTTPS 사용을 촉진하여 인터넷을 보다 안전하게 만드는 것입니다.주요특징무료 인증서 제공: 웹사이트 소유자들은 비용 ...
Read Morenginx의 location 디렉티브는 클라이언트로부터 들어오는 요청을 경로(URL) 기준으로 처리하는 중요한 기능 중 하나이다. 서버가 다양한 요청을 적절히 처리하기 위해서 요청경로에 따라 다른 설정을 적용해야 하는 경우가 많다. 예를 들어, 정적인 파일을 특정 디렉토리에서 제공하거나, 특정 API요청을 백엔드 애플리케이션으로 전달하는 것과 같은 상황에서 location 디렉티브를 사용하게 된다. location 기본 개념특정 경로 또...
Read MoreSSL은 서버와 클라이언트간의 통신을 암호화하는 기술이다. 이를 통해 데이터가 전송되는 동안 도청, 변조, 위조와 같은 보안위협으로부터 보호할 수 있다. SSL 은 일반적으로 웹사이트에서 HTTPS를 통해 구현되며, 사용자와 서버간의 안전한 데이터 교환을 보장하는 중요한 역할을 한다. 그렇다면 왜 SSL을 써야할까? SSL 을 써야 하는 이유를 몇가지 적어보자면..데이터보호를 위해SSL 은 클라이언트와 서버간의 데이터를 암호...
Read More웹사이트의 보안을 강화하는 것은 웹 개발에서 필수적인 요소이다. 특히 HTTPS 를 통해 안전한 통신을 유지하는 것이 중요하다. 이를 위한 핵심적인 기술로 HSTS 라는 것이 있다.HSTS란?HSTS는 HTTP Strict Transport Security의 약자로 웹사이트가 오직 HTTPS 프로토콜을 통해서만 접근되도록 강제하는 보안 메커니즘이다. 이를 통해 HTTP 프로토콜로의 접속을 막고, HTTPS 를 통한 안전한 통신을 보장한다. HSTS 는 클라이언트(...
Read MoreMySQL 과 MariaDB 는 아주 널리 사용되는 RDBMS 의 종류중 하나이다. 기본 설정만으로도 아주 놀라운 성능을 보여준다. 하지만 모든 상황에서 최적의 성능을 발휘하기는 어렵다. 특히 데이터베이스의 규모가 커지고, 복잡한 쿼리가 자주 실행되기도 하며, 동시에 많은 사용자가 접근하는 경우, 성능 저하와 자원 낭비가 발생할 수 있다. 이는 비용의 낭비와 서비스의 질적 저하로 이어질 수 있다. 위와 같은 문제를 해결하고 서버...
Read MoreSass 는 CSS 확장언어(전처리기) 로 볼 수 있다. CSS 에서 지원하지 않는 중첩이나 함수, 상속 등의 프로그래밍적인 기능을 활용하여, 더 효율적이로 강력한 작성 방법을 지원한다. 이를 통해 더욱 구조적이로 유지보수가 쉬운 스타일 시트를 작성할 수 있도록 도와준다. 먼저 Sass 를 사용하기 위해 시스템에 컴파일러 설치가 필요하다 이를 위해 npm 이라는 nodejs package manager 가 필요하다. Sass 설치 준비nodejs 설치dnf i...
Read MoreREMI REPO 를 이용한 PHP8 버전 설치 메뉴얼이다.# epel 저장소 설치 dnf install -y epel-release dnf-utils # Remi Repository 설치 (Rocky 9) dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm # PHP 8.3 활성화 dnf module enable php:remi-8.3 # PHP + Module 설치 dnf install -y php-fpm php-devel php-json php-mbstring php-opcache php-pdo php-pecl-geoip php-pecl-imagick php-tidy php-xml php-...
Read More웹페이지의 성능을 최적화 하는 것은 굉장히 중요하다. 서버의 리소스를 절감할 수 있으며, 이로 인해 비용을 절감할 수 있다. 검색엔진에서의 SEO 점수를 향상시켜 검색 순위를 올릴 수 있다. 이로 인해 더 많은 방문자의 유입이 가능해지며 결국 수익으로 이끌게 된다. 사용자 경험 또한 향상되어 사용자의 만족도가 올라갈 것이다. 이외에도 다양한 장점이 있다. TTFB란?홈페이지의 성능에 가장 눈에 띄는 것은 TTFB 의 속도이...
Read More본 매뉴얼은 nginx repo 에서 제공되는 버전으로 설치를 진행 후, brotli 압축 및 보안에 관한 몇가지 모듈을 추가하는 매뉴얼입니다. 문서를 참조하신 후 각자의 환경에 맞춰서 수정하여 사용하시면 됩니다.nginx 의 repo 에는 stable 과 mainline 의 이름을 가진 두가지 배포판이 존재합니다. 각각의 특징은 다음과 같습니다. 1. Stable 릴리스목적: 안정성을 중시하는 사용자들을 위해 제공됩니다.특징: 기능 추가보다는 버그 ...
Read More