호스팅 하고 있는 소스를 압축해서 새로운 환경에 복사 했는데 이상한 오류가 발생한다.동일한 소스인데 오류가 발생하는 걸 보니 환경 설정이나 버전 문제인 것 같아 현재 버전을 먼저 확인한다.오류 문구 확인Parse error : Unclosed버전 확인php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies확인 해보니 기존 서버의 버전은 php 8.3 버전이고 php...
CentOS 지원이 중지되고 같은 계열인 Rocky Linux9 버전으로 설치하고 있습니다.기존에는 아파치 설정의 httpd.conf 파일에 VirtualHost와 SSL을 추가 하였더니 웹 페이지에 SSL 적용이 되지 않네요.해결하게 되어 정보를 기록 합니다.1. httpd.conf파일에 설명과 주석 부분은 모두 제거하였으니 필요한 부분만 참고 하도록 하니다.ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin etocat@naver.com
ServerName www.example.com:80
<Directory />
...
웹사이트를 운영할 때 고객에 회원 가입을 받거나 문의 답변 및 신청하기와 같은 정보를 받게 됩니다.사용자가 기입하는 정보가 웹사이트에 그대로 표시되는 경우가 있어 스팸으로 활용하는 프로그램들이 많이 있습니다.이러한 시도를 막기 위해 입력 항목에 대한 검증 작업으로 어느 정도 해결이 가능하지만 스팸 프로그램들이 지능화 되면서 캡챠라는 서비스를 많이 이용하고 있습니다.지금 소개하는 서비스는 구글에서 공식 지원하는 reCAPTCHA 라는 서비스 입니다.버튼을 눌러 가입 후 로그인을 합니다.만들기 플러스 버튼을 클릭...
여기에서는 예시로 새벽 3시 1분에 자동 백업이 되도록 합니다.3일치 로테이션 백업을 cron으로 자동화 하려고 하며 필요에 따라서는 7일과 같이 수정해서 사용할 수 있습니다.1. 백업 스크립트 생성 (backup_mariadb.sh)백업 스크립트를 생성하기 위해서는 자동 실행하는 스크립트 파일 .sh 를 먼저 만들어야 합니다.텍스트 편집기는 vi, nano, vim 등을 사용하며 /home/backup 디렉토리에 backup_mariadb.sh 파일을 생성 해 보겠습니다.#!/bin/bash
# 백업 디렉토리BACKUP_DIR="/home/backup"
# MariaDB 접속 정보 (보안을 위해 환...
웹 프로그램의 PHP 실행을 하는 경우 에러 표시 없이 아래 그림과 같이 "페이지에 연결할 수 없습니다."라고 표시되는 경우가 있습니다.에러 표시가 없이 페이지가 종료가 되는 경우라서 오류를 확인하기 어렵습니다.에러가 표시되지 않고 HTTP ERROR 500 표시예제 문서아래 소스는 php 코드에 에러가 있는 소스 있습니다. 그렇지만 위와 같이 500 에러가 발생합니다.<!DOCTYPE html><html lang="ko-KR"><head><meta charset="UTF-8"><meta name="Generator" content="chr.kr"><meta name="Author" c...
한국인터넷진흥원은 사용자의 WHOIS 검색 편의를 위해 OpenAPI를 제공해왔습니다.2021년 11월 26일부터 WHOIS OpenAPI 서비스를 공공데이터포털(data.go.kr)과 연계하여 제공하고 있습니다. ※ WHOIS OpenAPI KEY를 이미 발급 받은 사용자는 기존 방식대로 계속 사용 가능합니다.신규로 WHOIS OpenAPI 이용을 원하는 사용자는 공공데이터포털(data.go.kr)을 이용해 주시기 바랍니다.공공 데이터포털 이용 시 WHOIS OpenAPI 트래픽 규모가 일일 1만건 에서 일일 최대 10만건까지 이용 가능합니다.공공 데이터 활용신청 TOP
CSS 기능 지원이 제한적일 때에는 Javascript 또는 jQuery 스크립트를 통해 애니메이션 효과를 줬었지만 CSS 기능 지원이 많아지면서 이제는 간편하게 사용하면서도 지원하는 CSS 가 많아졌다. 직접 CSS 로 구현해도 되지만 가장 많이 사용하는 애니메이션은 클래스로 간단하게 사용할 수 있는 서비스가 있어서 소개하고자 합니다.ANIMATE.CSSAnimate.css 여러가지 움직이는 효과의 라이브러리를 간단한 클래스 이름만 추가하여 사용하기 간편하게 만든 서비스이다. 공식 사이트 : https://animate.style/ 에 접속하면 우측 ...
새로운 서버 설치 후 mysql 설치하여 사용하다가 서버가 먹통이 되는 증상이 발송되어 삭제 하고 MariaDB 설치하는 과정을 공유하고자 합니다. 서버를 재 시작 하면 잠시 동안은 잘 작동하다가 어느 순간에 서버에서 무한 루프가 도는 문제가 있어서 이전부터 사용 해 오던 MariaDB 를 설치하려고 합니다. MySQL 서비스가 Oracle 인수 후에 개발에 참여했던 팀이 MariaDB를 만들어서 대부분 호환이 되며 업그레이드도 지속되고 있어 워드프레스를 사용하고 있다면 추천하는 데이터베이스 입니다.MySQL 삭제 후 MariaDB 설치하기MySQL ...
외부의 무단 이미지 링크로 인한 트래픽 비용을 줄이기 위한 설정 방법을 소개 합니다.트래픽 비용을 납부하는 사이트의 경우 어느 날 갑자기 외부 이미지 사용의 증가로 비용이 증가 되고 사이트 속도가 저하되는 경우가 있습니다. 카페 24 호스팅의 경우에는 절약형 호스팅을 사용한다면 사이트가 차단되면서 접속이 불가능하고 트래픽 비용을 추가 결제하거나 상위 상품으로 결제해야 사이트 접속이 가능하게 됩니다.이미지 외부 사용에 대한 제한을 Hotlink 핫 링크라고 하며 Apache 서버를 이용하는 경우 public_html 폴더에서...
과거에는 하드 코딩을 좋아해서 명령어도 다 외웠는데 이제는 필요할 때마다 검색해서 사용하다 보니 간단한 함수나 명령어도 기억이 나질 않네요. 자주 사용하는 체크 박스에서 체크 여부와 전체 체크를 할 수 있는 jQuery 소스를 안내하고자 합니다.오리지널 JavaScript 방식으로 개발 하는 경우 소스가 길었지만 jQuery로 할 때에는 아래와 같이 간단하게 구성이 가능합니다./* html */
<input type="checkbox" id="chk" value="1">
/* javascript 방식 */
var o = document.getElementById('chk');
var ischecked = o....
웹 서비스에서 보안 서버 SSL 필수 요건이 되고 있습니다. 운영하는 웹사이트가 안전하지 않다고 표시되는 경우 고객에게 신뢰를 얻을 수 없습니다. 유료 보안 서버를 사용하기 어려운 회사에서는 Let's Encrypt 에서 제공하는 무료 SSL 서비스를 이용할 수 있습니다. 도메인 설정 후 인증서 발급 후 사용하고 나면 만료가 되기 전에 갱신이 필요합니다. 여기에서는 갱신을 위한 명령어와 옵션에 대해서 설명 드리고자 합니다.인증서 갱신하기 전에 검사하기검사는 필수는 아니며 사용하지 않는 계정이나 오류가 있는 지와 같은 부분을...
유튜브 동영상 데이터 게시물을 랜덤으로 표시하는 루틴 적용을 위해 Order By RAND() 쿼리를 이용하였습니다. 적용하고 나서 보니 데이터가 많아서 오래전에 등록한 데이터까지 랜덤으로 추출하는 문제가 발생 했네요. 이를 해결하기 위해 필요한 데이터를 추출하고 해당 범위에 글만 랜덤으로 처리하도록 하였습니다. 아래 샘플 소스를 통해 간단하게 처리하세요.정해진 데이터 갯수 랜덤 사용하기베너 같이 갯수가 소량 정해진 경우는 랜덤으로 표시하기 좋습니다. 1개를 추출하는 경우 LIMIT 1이라고 표시하고 5개 중에 랜덤으로 ...
보안서버 SSL 페이지가 아닌 http 접근시 자동으로 이동되는 방법을 소개합니다.개인 정보를 취급하거나 워드프레스(wordpress)를 사용하는 경우 SSL 보안서버를 필수적으로 사용해야 합니다. 그렇지만 이전에 사이트 등록 해 놓은 경우 또는 웹 문서나 직접 도메인주소를 입력하는 경우 보안서버가 작동하지 않는 HTTP로 접근하는 경우가 있습니다. 프로그램 소스를 통해 이동하는 방법도 있지만 .htaccess 파일을 수정하면 쉽고 간편하게 처리할 수 있습니다.작업시 사이트 접속이 불가능할 수 도 있기에 기존에 파일이 있는 경우 백...
새 글을 작성하거나 검색을 할 때 데이터가 많거나 인터넷이 느린 경우 화면에 나타나지 않아 여러 차례 클릭하는 경우가 있습니다. 또는 사용자 실수인 경우도 있으며 마우스 버튼이 민감한 경우 다중 클릭이 시동 되기도 합니다. 이런 경우 글이 여러 개 등록되거나 서버에 많은 요청을 시도해서 속도 저하의 문제가 될 수 있습니다. 서버 접속자에 대한 타임 아웃 시간 제한이나 업그레이드가 방법일 수 있지만 그전에 간단한 방법으로 효율성을 높이는 방법으로 버튼을 1회만 누르고 대기하도록 유도하는 것입니다.아래의 데이터에...
PHP로 개발된 무료 소프트웨어로 웹에서 데이터베이스를 쉽게 관리할 수 있으며 MySQL을 기본으로 하지만 MariaDB도 사용이 가능합니다. DB의 테이블, 열, 관계, 인덱스, 사용자 추가 및 관리, 권한 등 명령어로 입력할 수 있는 기능을 쉽게 사용할 수 있습니다.카페24 호스팅에서 이전에는 해당 툴을 기본으로 제공하고 있었지만 정확한 이유는 알수 없으나 구버전의 보안문제라고 생각이 됩니다. 국내에서는 그누보드나 워드프레스를 사용하는 사용자라면 전문 개발자가 아니더라도 사용할 수 있습니다.15년이상되었고 72개 언어로 ...
회원 가입이나 문의 내용을 접수 받을 때 이메일주소를 입력 받는 경우가 있습니다. 가짜로 입력하는 걸 막기 위해서 최저 자리수와 도메인이 포함되어 있나 채크하는 루틴을 사용하여 처리하였으나 알아보니 더 간단한 방법이 있었네요. 고급 방법으로는 checkdnsrr 명령어를 이용해서 mx a cname 코드를 읽어와서 채크하는 방법도 있지만 통신문제가 있는 경우가 있어 특별한 경우를 제외하고는 문법만 채크하는걸 많이 이용합니다.https://www.php.net/manual/en/function.filter-var.php(PHP 5 >= 5.2.0, PHP 7...
2025.05.065회 읽음
php 함수 filter_var FILTER_VALIDATE_EMAIL FILTER_VALIDATE_URL
PHP는 변수를 선언하지 않아도 사용이 가능하지만 그로 인해 비 효율적인지 부분도 존재합니다. PHP8.X 버전의 경우에는 변수 선언을 하지 않으면 경고 메시지가 표시되므로 변수 선언 없이 비교 연산과 같은 처리가 되지 않도록 하기 위해서 적절하게 사용하는게 좋습니다.공식사이트에도 isset에 대한 설명을 볼 수 있으며 간략하게 확인 해 보고 싶다면 아래글을 보시면 됩니다.https://www.php.net/manual/en/function.isset.php(PHP 4, PHP 5, PHP 7, PHP 8)isset - 변수가 선언되었고 다른 변수인지 확인합니다.아래와 같이 코드...
전화번호 텍스트를 input 박스에서 입력 받을 때 불필요한 문자 입력을 막고 정형화된 형식을 입력하게 되면 필터링이 필요 없고 정확한 데이터를 얻는데 도움이 됩니다.다양한 소스 코드가 있지만 코드가 길지 않고 간편하게 사용할 수 있는 스크립트를 안내 하고자 합니다.아래와 같이 특수 문자 없이 숫자만 입력하면 자동으로 하이픈이 입력됩니다.아래와 같이 소스를 통해 사용할 수 있습니다.Class에 phoneNumber 항목을 추가합니다.<input type="tel" class="phoneNumber" id="mobile" name="mobile" value="">
/*javasc...
리눅스 서버에서 많이 사용하는 vsftpd가 설치되어 있고 ftp로 접근할 때 해당 사용자가 아닌 하위 폴더까지 볼 수 있는 경우가 있습니다. 설치시 설정값이 기본으로 되어 있는경우가 있으니 아래 설명을 참고로 수정 해 주세요.vsftpd는?vsftpd는 Linux를 포함한 UNIX 시스템용 GPL 라이센스 FTP 서버입니다. 안전하고 매우 빠르면서 안정적입니다. 속도와 보안을 위해 규모는 작지만 vsftpd를 사용하면 훨씬 더 복잡한 FTP 설정을 수행할 수 있습니다. 가상 IP 구성 / 가상 사용자 / 독립형 또는 inetd 작동 /&n...
카테고리나 분류를 선택할 때 자주 사용하는 화면이 Select 라는 항목입니다.단일 Select의 경우가 아닌 1차를 선택해야 2차가 표시되는 작업을 웹사이트 제작에서 많이 사용합니다. Select 선택한 값 얻기console.log( $('#셀렉트박스ID option:selected').text() ); // 선택된 selected 표시한 얻기
console.log( $('#셀렉트박스ID option:selected').val() ); //선택된 selected value 얻기Select 추가하기$('#셀렉트박스ID').append("<option value='2'>2번째 옵션</option>"); // 2번째 옵션추가
$(''#셀렉트...