그누보드 게시판 입력 필드 URL에 http 프로토콜 자동 추가하기
페이지 정보

본문
문제 상황과 원인
게시판에 웹사이트 주소나 링크를 입력받을 때 사용자가 http://나 https://를 생략하고 도메인만 입력하는 경우가 발생합니다. 이 상태로 저장되면 올바른 링크로 이동하지 않거나 링크 기능이 정상적으로 작동하지 않는 문제가 생깁니다.
해결 방법
그누보드는 URL에 프로토콜이 빠졌을 때 자동으로 http://를 붙여주는 내장 함수 set_http를 기본으로 제공합니다. 이 함수를 게시판 스킨의 글 등록 처리 파일인 write_update.head.skin.php에 적용하면 입력값을 가공할 수 있습니다.
여분필드와 링크 필드 적용 예시
사용하는 게시판 스킨 폴더 안에 write_update.head.skin.php 파일을 생성하고 아래와 같이 코드를 작성합니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 여분필드 wr_1에 입력된 URL에 프로토콜 자동 추가
$wr_1 = set_http($wr_1);
// 링크 1, 2 필드에 입력된 URL에 프로토콜 자동 추가
$wr_link1 = set_http($wr_link1);
$wr_link2 = set_http($wr_link2);
?>코드 설명
set_http($url): 그누보드lib/common.lib.php에 정의된 함수로, 전달된 문자열에http,https,ftp,telnet,news,mms등의 프로토콜이 포함되어 있는지 확인합니다.- 프로토콜이 없으면 앞에
http://를 강제로 붙여서 반환합니다. 텍스트가 비어 있는 경우 공백을 유지합니다. write_update.head.skin.php: 게시판 글 등록 및 수정 데이터가 처리되기 직전에 호출되는 파일이므로, DB에 값이 들어가기 전에 입력값을 올바른 형태로 정제할 수 있습니다.
적용 후 확인 방법
- 해당 스킨이 적용된 게시판에서 글쓰기 화면으로 이동합니다.
- 여분필드나 링크 입력란에 프로토콜을 제외한 주소를 입력하고 글을 등록합니다.
- 게시글 상세 화면이나 데이터베이스에서 해당 값이 프로토콜이 포함된 형태로 변환되어 저장되었는지 확인합니다.
주의사항
특정 그누보드 버전에만 국한되지 않고 일반적인 그누보드 환경에서 활용할 수 있으나, 수정 전 스킨 파일 백업을 권장하며 적용 후 정상 동작 여부를 직접 확인해야 합니다.
함께 보면 좋은 글
- 이전글그누보드 게시판 본문 이미지 및 텍스트 중앙 정렬하는 방법 26.09.13
- 다음글그누보드 게시판 접속 시 최신글 또는 글쓰기 페이지로 자동 이동하기 26.09.13
댓글목록
등록된 댓글이 없습니다.