다운로드 파일에 캡챠 설정하기 정보
다운로드 파일에 캡챠 설정하기관련링크
본문
view.skin.php
상단에
<?php include_once(G5_CAPTCHA_PATH.'/captcha.lib.php'); ?>
vew.skin.php폴더의
<!-- 첨부파일 시작 { -->
...
..
..
<!-- } 첨부파일 끝 -->
부분을
<!-- 첨부파일 시작 { -->
<section id="bo_v_file">
<h2> 다운로드 캡챠</h2>
<div style="margin:5px;"><?php $captcha_html = captcha_html();?></div>
<?php echo $captcha_html?>
<h2>첨부파일</h2>
<ul>
<?php
// 가변 파일
for ($i=0; $i<count($view['file']); $i++) {
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
?>
<li>
<i class="fa fa-download" aria-hidden="true"></i>
<a href="<?php echo $view['file'][$i]['href']; ?>" onclick="<?php echo chk_captcha_js()?>" class="view_file_download">
<strong><?php echo $view['file'][$i]['source'] ?></strong>
</a>
<?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
<span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드 | DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
</li>
<?php
}
}
?>
</ul>
</section>
<!-- } 첨부파일 끝 -->
로 교체
!-->!-->!-->
추천
1
1
댓글 4개
제대로 작동이 안되는거같은데요 데모사이트가서 확인해본결과 캡챠 입력없이도 다운로드 가능하네요
오타가 조금 있었네요 수정하였습니다
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$view_skin_url.'/view.css" media="screen">', 0);
$btn1 = (isset($boset['btn1']) && $boset['btn1']) ? $boset['btn1'] : 'black';
$btn2 = (isset($boset['btn2']) && $boset['btn2']) ? $boset['btn2'] : 'color';
$attach_list = '';
if (implode('', $view['link'])) {
// 링크
for ($i=1; $i<=count($view['link']); $i++) {
if ($view['link'][$i]) {
$attach_list .= '<a class="list-group-item break-word" href="'.$view['link_href'][$i].'" target="_blank">';
$attach_list .= '<span class="label label-warning pull-right view-cnt">'.number_format($view['link_hit'][$i]).'</span>';
$attach_list .= '<i class="fa fa-link"></i> '.cut_str($view['link'][$i], 70).'</a>'.PHP_EOL;
}
}
}
$attach_list .= '<div>' . $captcha_html = captcha_html() . '</div>';
// 가변 파일
$j = 0;
for ($i=0; $i<count($view['file']); $i++) {
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
if ($board['bo_download_point'] < 0 && $j == 0) {
$attach_list .= '<a class="list-group-item"><i class="fa fa-bell red"></i> 다운로드시 <b>'.number_format(abs($board['bo_download_point'])).'</b>'.AS_MP.' 차감 (최초 1회 / 재다운로드시 차감없음)</a>'.PHP_EOL;
}
$file_tooltip = '';
if($view['file'][$i]['content']) {
$file_tooltip = ' data-original-title="'.strip_tags($view['file'][$i]['content']).'" data-toggle="tooltip"';
}
$attach_list .= '<a class="list-group-item break-word view_file_download at-tip" onclick="<?php echo chk_captcha_js(); ?>" href="'.$view['file'][$i]['href'].'"'.$file_tooltip.'>';
$attach_list .= '<span class="label label-primary pull-right view-cnt">'.number_format($view['file'][$i]['download']).'</span>';
$attach_list .= '<i class="fa fa-download"></i> '.$view['file'][$i]['source'].' ('.$view['file'][$i]['size'].') ';
$attach_list .= '<span class="en font-11 text-muted"><i class="fa fa-clock-o"></i> '.apms_datetime(strtotime($view['file'][$i]['datetime']), "Y.m.d").'</span></a>'.PHP_EOL;
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
이렇게 인크루드 시키고
$attach_list .= '<div>' . $captcha_html = captcha_html() . '</div>';
캡차 보이도록 처리한 후에..
$attach_list .= '<a class="list-group-item break-word view_file_download at-tip" onclick="<?php echo chk_captcha_js(); ?>" href="'.$view['file'][$i]['href'].'"'.$file_tooltip.'>';
온클릭하면 체크하도록 했는데.. 뭘 빼먹어서 채크가 안되고 그냥 다운로드 될까요...??
그리고 볼피드님 이 소스적용하면 파싱으로 첨부파일 펌 하는것 방어가 가능한지요..?