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

본문
그누보드 게시판에 URL을 입력할 때 프로토콜을 생략해도 자동으로 http://를 붙여 정상적인 링크로 저장하는 방법을 알아봅니다.
그누보드 게시판 입력 필드 URL에 http 프로토콜 자동 추가하기
게시판에 웹사이트 주소나 링크를 입력받을 때 사용자가 http://나 https://를 생략하고 도메인만 입력하면 올바른 링크로 이동하지 않거나 링크 기능이 정상적으로 작동하지 않는 문제가 발생합니다. 그누보드는 이 문제를 해결하기 위해 URL에 프로토콜이 빠졌을 때 자동으로 http://를 붙여주는 내장 함수 set_http를 기본으로 제공합니다.
해결 방법 및 적용 예시
그누보드 lib/common.lib.php에 정의된 set_http($url) 함수는 전달된 문자열에 http, https, ftp, telnet, news, mms 등의 프로토콜이 포함되어 있는지 확인하며, 프로토콜이 없으면 앞에 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);
?>
적용 후 확인 방법
적용 결과는 아래 Q2의 확인 절차를 참고하여 검증할 수 있습니다.
주의사항
수정 전 스킨 파일 백업을 권장하며, 적용 후 정상 동작 여부를 직접 확인해야 합니다.
URL 자동 추가 적용 후 확인 방법
set_http 함수를 적용한 게시판 스킨에서 URL이 올바르게 변환되어 저장되는지 확인하려면 다음 절차를 진행합니다.
- 해당 스킨이 적용된 게시판의 글쓰기 화면으로 이동합니다.
- 여분필드나 링크 입력란에
http://나https://같은 프로토콜을 제외한 도메인 주소만 입력하고 글을 등록합니다. - 게시글 상세 화면이나 데이터베이스를 확인하여 입력한 값이 프로토콜이 포함된 형태로 변환되어 저장되었는지 확인합니다.
상황별 판단 및 행동 지침
| 내 상황 | 선택 기준 | 다음 행동 |
|---|---|---|
| 사용자가 URL 입력 시 프로토콜을 생략하여 링크가 작동하지 않음 | 그누보드 내장 함수 set_http를 활용해 DB 저장 전 데이터 정제 | 스킨 폴더 내 write_update.head.skin.php 파일 생성 및 정제 코드 추가 |
| 게시판 스킨 파일을 수정해야 함 | 원본 파일 손상 방지 및 안전한 복구 대비 | 수정 전 스킨 파일 백업 후 코드 적용 및 정상 동작 확인 |
실전 FAQ
Q. write_update.head.skin.php 파일이 이미 존재하면 어떻게 하나요?
- 기존 파일이 있다면 파일을 열어 기존 코드 아래에
set_http적용 코드를 추가합니다. 파일이 없다면 새로 생성하여 작성합니다.
Q. 여분필드 wr_1 외에 다른 필드도 적용 가능한가요?
- 네, 사용 중인 여분필드 번호에 맞춰
$wr_2,$wr_3등 변수명을 변경하여set_http($변수명)형태로 적용하면 됩니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 게시판 본문 이미지 및 텍스트 중앙 정렬 설정 방법 26.09.13
- 다음글그누보드 게시판 접속 시 최신글 또는 글쓰기 페이지로 자동 이동하기 26.09.13
댓글목록
등록된 댓글이 없습니다.