BOARD

팁·활용

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 7회 작성일 26-09-13 21:33

본문

문제 상황과 원인

게시판에 웹사이트 주소나 링크를 입력받을 때 사용자가 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에 값이 들어가기 전에 입력값을 올바른 형태로 정제할 수 있습니다.

적용 후 확인 방법

  1. 해당 스킨이 적용된 게시판에서 글쓰기 화면으로 이동합니다.
  2. 여분필드나 링크 입력란에 프로토콜을 제외한 주소를 입력하고 글을 등록합니다.
  3. 게시글 상세 화면이나 데이터베이스에서 해당 값이 프로토콜이 포함된 형태로 변환되어 저장되었는지 확인합니다.

주의사항

특정 그누보드 버전에만 국한되지 않고 일반적인 그누보드 환경에서 활용할 수 있으나, 수정 전 스킨 파일 백업을 권장하며 적용 후 정상 동작 여부를 직접 확인해야 합니다.

함께 보면 좋은 글

댓글목록

등록된 댓글이 없습니다.