후킹, 칼럼 추가로 내용관리_검색_타이틀을 만들기 정보
후킹, 칼럼 추가로 내용관리_검색_타이틀을 만들기
관련링크
첨부파일
본문
/extend/ 폴더에 후킹 함수를 사용하고
디비에 내용관리_검색_타이틀(co_seo_title)을 만들어,
'co_subject와 추가 설정한 'co_seo_title'을 브라우저 상태바(title)에 적용합니다.
https://trigger.glitter.kr/bbs/content.php?co_id=company
1. SQL 컬럼 추가, 순정 그누 경우 기 존재 함 = = =
ALTER TABLE `g5_content` ADD COLUMN `co_seo_title` VARCHAR(255) NOT NULL DEFAULT '';
UPDATE `g5_content` SET `co_seo_title` = '검색회사소개' WHERE `co_id` = 'company';
. . .
3. /extend/seo_title.extend.php = = =
<?php
if (!defined('_GNUBOARD_')) exit; // 보안 처리
// co_id가 있을 경우, 해당 co_id의 co_seo_title 조회
if (isset($_GET['co_id'])) {
// co_id 필터링 (한글, 영문, 숫자, 밑줄(_) 허용)
$co_id = preg_replace('/[^가-힣a-zA-Z0-9_]/u', '', $_GET['co_id']);
// SQL 실행하여 co_seo_title 조회
$sql = "SELECT co_seo_title FROM g5_content WHERE co_id = '".sql_real_escape_string($co_id)."'";
$result = sql_fetch($sql);
// co_seo_title이 존재하면 cf_title을 대체
if (!empty($result['co_seo_title'])) {
$config['cf_title'] = trim($result['co_seo_title']); // co_seo_title로 변경
}
}
// 후킹 시스템을 사용하여 g5['title']을 재설정
add_event('head.sub.php', function() {
global $g5, $config;
if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title'];
} else {
// 상태바에 표시될 제목 설정
$g5['title'] = implode(' | ', array_filter(array($g5['title'], $config['cf_title'])));
}
// XSS 방지를 위한 strip_tags 처리
$g5['title'] = strip_tags($g5['title']);
});
?>
붙임) 추가로 'co_seo_title'을 사용한 검색을 위해선,
/bbs/content.php의 필터링 코드가 영문, 숫자, 밑줄만 허용하고 있으니
한글을 허용하도록 수정이 필요합니다.
해당 예시에서 사용한 /bbs/content.php는 첨부한 '파일1' content.php.zip입니다.
!-->!-->!-->
추천
4
4
댓글 3개

감사합니다 ^^
정말 감사합니다.
게시판 각 페이지에서도 적용하는것 부탁드릴께요...ㅎㅎ

감사합니다.