차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:adsense_prohibited_content [2014/03/02 19:51] V_Ltech:adsense_prohibited_content [2016/07/12 09:26] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +{{tag>adsense prohibited content 구글 애드센스 19금 플러긴}}
 +======성인 컨텐츠 표시 (Adsense Prohibited Content)======
 +
 +위키에 [[google adsense]]를 달고 있다. 페이지 내용에 따라 구글에서 가끔 이멜이 날라오는데, **"3일이내에 광고 내리지 않으면, 니 사이트를 접겠다.."** 라는 것이다. 
 +
 +대부분 (19금) 관련 내용이다.
 +
 +[[https://support.google.com/adsense/answer/1348688?hl=ko|구글 애드센스 금지된 컨텐츠]] 내용을 보면 성인물이나 기타 변태적인 내용이 있는 경우 광고 게시를 금지한다고 한다. 
 +
 +지가 알아서 해주면 좋으련만, 귀찮다고 방심하면, 애드센스 계정이 짤릴 수도 있다.
 +
 +=====이것을 해결하기 위해=====
 +
 +  - 템플릿에 애드센스를 표시해주는 부분에 페이지의 이름을 비교해서 광고를 표시하지 않도록 했었는데, 하나하나씩 페이지이름을 넣자니 귀찮다. 
 +  - 페이지의 이름에 특정 단어가 들어가면 표시하지 않도록 했었는데, (예; sora, sex, condom 등) 페이지 이름에 특정 단어를 일부러 삽입하는 것도 이상했다. 
 +
 +=====그래서,=====
 +
 +페이지를 수정 후 저장할 때((
 +페이지 저장할 때 한번이지만, 내용전체를 검색하기 때문에... 속도 문제가 혹시 ?)) 특정 단어가 있으면, 페이지를 "성인" 컨텐츠가 있는 것으로 표시하고 (메타데이터에 표시) 템플릿에서 이것을 검사하여 구글 애드센스를 표시하지 않도록 하는 방법을 구현했다. 
 +
 +간단하다. 
 +
 +<file php action.php>
 +<?php
 +/**
 + * adsense Plugin
 + 
 + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 + * @author     s c yoo <[email protected]>
 + */
 +if(!defined('DOKU_INC')) die();
 +
 +class action_plugin_adsense extends DokuWiki_Action_Plugin {
 +
 + var $functions = null;
 +
 + function register(&$controller) 
 + {
 + $controller->register_hook
 +             ('IO_WIKIPAGE_WRITE', 'BEFORE', $this, 'adsense__adsense');
 + }
 +
 + function adsense__adsense(&$event, $args) {
 +            global $ID;
 + $adult = p_get_metadata($ID, "adult");
 + if ($adult == null) $adult=false;
 + if (preg_match('/19금/si',$event->data[0][1]))
 + {
 + $adult=true;
 + } else
 + {
 + $adult=false;
 + }
 + p_set_metadata($ID, array('adult' => $adult));
 + return ;
 + }
 +}
 +</file>
 +
 +페이지 내용에 "19금" 이 포함되어 있으면, 페이지 정보 (메타데이터)의 "adult"항목에 (p_set_metadata 함수) 표시하고, 템플릿에서 나중에 이것을 사용하도록 하면된다
 +
 +<file php>
 +if (p_get_metadata($ID,"adult")) {
 + $noadsense=true; // 처리...
 +}
 +</file>
 +
 +
 +^  누구나 수정하실 수 있습니다. [[http://vaslor.net/syntax|위키 사용법]] 참고하세요.  ^
 +