영카트 상세페이지 화면에서 파일다운로드 권한설정 해제??하고싶어요..

영카트 상세페이지 화면에서 파일다운로드 권한설정 해제??하고싶어요..

QA

영카트 상세페이지 화면에서 파일다운로드 권한설정 해제??하고싶어요..

답변 7

본문

영카트 제품상세보기 화면에 프로그래머가 작업을 한거 같기도한데요..

게시판은 권한설정해서 파일다운로드 회원이상 비회원이상 선택이 있잖아요??

 

2039957543_1558492851.622.jpg

 

상품분류에도 권한설정이 있나싶어서 살펴보아도 없어서요..

현재 제품 상세페이지 보는거는 비회원이상되는데요 파일다운은 회원이상만 되요..

비회원도 파일다운로드 되게 하고 싶은데 어디서 수정해야될지 막막하네요..

고수님들 도와주세요...

이 질문에 댓글 쓰기 :

답변 7

dlmodel.php?file= 이것때문인거같은데 

혹시  dlmodel.php 파일의 용도를 알 수 있을까요?

/dlmodel.php?file= 을 삭제하고 확인하면 파일 경로는 맞는것 같습니다.

 


function downloadModelFile(url) {
 if (url == 'gologin') {
  alert('<?php echo _t("로그인 후 이용하여 주십시오."); ?>');
  document.location.href = g5_url + '/bbs/login.php?url=' + encodeURIComponent(document.location.href);
 } else {
  document.location.href = g5_url + '' + url;
 }
}

 

바쁘신데 계속 친절한 답변감사드립니다^^
펄스나인님 말처럼  /dlmodel.php?file= 삭제하고 테스트해보니 비회원으로도 다운이 되긴하던데요.
파일확장자명이 zip파일아닌것은 .stp파일은 브라우저에서 뿌려지네요..ㅠㅠ
dlmodel.php?file= 용도가 아마도 stp파일을 다운받을수 있게해주는 그런 역할인듯해요..

비회원을 포함한 전체 다운로드가 가능하게끔 처리는

새로 올려주신 코드 (101~119번 라인 까지)

 


<?php if (!empty($member['mb_id'])):?>
 <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d2file)?>')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d3file)?>')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>
 <?php else:?>
  <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('gologin')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('gologin')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>
 <?php endif?>

 

위 코드부분을

아래와같이 변경해주시면 되겠습니다.

 


 <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d2file)?>')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d3file)?>')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>

가르쳐주신대로 수정해서 업로드해서 테스트해보면 파일다운이 안되고 에러나요..ㅠ

주소창에는 이렇게 뜨고요
http://www.yktec.co.kr/dlmodel.php?file=/data/item/2d3d/attach/2016001.2d.zip

하얀화면에 이렇게 떠요..
access denied

상품 상세페이지에서 파일 다운로드 부분이 어디에있는지 알아야

정확한 답변을 드릴 수 있을것 같습니다.

 

상세페이지를 담당하는 파일은 테마를 사용중이시라면 아래의 경로 입니다.

/영카트설치폴더/theme/basic/skin/shop/basic/item.form.skin.php

/영카트설치폴더/theme/basic/skin/shop/basic/item.info.skin.php

 

어려우시면 상세페이지의 url을 알려주시거나

해당페이지의 코드를 알려주세요~

http://www.yktec.co.kr/shop/item.php?it_id=2016276 상세페이지 주소인데요.

제품구매는 안되게 막아놔서인지 찾아보니 item.info.skin.php 여기 파일에 들어있었네요..

코드는 아래처럼 되어있어요.


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0);

// 2d, 3d 파일 존재여부, 파일경로 확인
$d2file = '';
$d3file = '';
$model = strtolower($it['it_model']);
if (!empty($it['it_2dfile'])) {
 $d2file = $it['it_2dfile'];
} else {
 $_dwg = G5_PATH . "/data/item/2d3d/{$model}.2d.dwg";
 $_zip = G5_PATH . "/data/item/2d3d/{$model}.2d.zip";
 if (file_exists($_dwg)) {
  $d2file = "/data/item/2d3d/{$model}.2d.dwg";
 } elseif (file_exists($_zip)) {
  $d2file = "/data/item/2d3d/{$model}.2d.zip";
 }
}
if (!empty($it['it_3dfile'])) {
 $d3file = $it['it_3dfile'];
} else {
 $_stp = G5_PATH . "/data/item/2d3d/{$model}.3d.stp";
 $_zip = G5_PATH . "/data/item/2d3d/{$model}.3d.zip";
 if (file_exists($_stp)) {
  $d3file = "/data/item/2d3d/{$model}.3d.stp";
 } elseif (file_exists($_zip)) {
  $d3file = "/data/item/2d3d/{$model}.3d.zip";
 }
}
?>
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
<!-- 상품 정보 시작 { -->
<section id="sit_inf">
    <h2>Product detail</h2>
    <?php echo pg_anchor('inf'); ?>
    <?php if ($it['it_basic']) { // 상품 기본설명 ?>
    <h3><?php echo _t('상품 기본설명'); ?></h3>
    <div id="sit_inf_basic">
         <?php echo $it['it_basic']; ?>
    </div>
    <?php } ?>
    <?php if ($it['it_explan']) { // 상품 상세설명 ?>
    <h3><?php echo _t('상품 상세설명'); ?></h3>
    <div id="sit_inf_explan">
        <?php echo conv_content($it['it_explan'], 1); ?>
    </div>
    <?php } ?>

    <?php
    if ($it['it_info_value']) { // 상품 정보 고시
        $info_data = unserialize(stripslashes($it['it_info_value']));
        if(is_array($info_data)) {
            $gubun = $it['it_info_gubun'];
            $info_array = $item_info[$gubun]['article'];
    ?>
    <!--<h3>상품 정보 고시</h3>
    <table id="sit_inf_open">
    <colgroup>
        <col class="grid_4">
        <col>
    </colgroup>
    <tbody>
    <?php
    foreach($info_data as $key=>$val) {
        $ii_title = $info_array[$key][0];
        $ii_value = $val;
    ?>
    <tr>
        <th scope="row"><?php echo $ii_title; ?></th>
        <td><?php echo $ii_value; ?></td>
    </tr>
    <?php } //foreach?>
    </tbody>
    </table>-->
    <!-- 상품정보고시 end -->
    <?php
        } else {
            if($is_admin) {
                echo '<p><?php echo _t("상품 정보 고시 정보가 올바르게 저장되지 않았습니다."); ?><br><?php echo _t("config.php 파일의 G5_ESCAPE_FUNCTION 설정을 addslashes 로"); ?><br><?php echo _t("변경하신 후")._t("관리자")." > "._t("상품정보 수정에서 상품 정보를 다시 저장해주세요."); ?></p>';
            }
        }
    } //if
    ?>
</section>
<style> 
.bo_fx {margin-bottom:5px;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;margin-left:5px}
</style>
<div class="bo_fx">
 <ul class="btn_bo_adm">
  <li><a href="javascript:sub0301();" class="btn04"><?php echo _t('견적문의'); ?></a></li>
  <li><a href="javascript:sub0404_2();" class="btn05"><?php echo _t('제품 Q&A'); ?></a></li>
 </ul>
 <?php if (!empty($member['mb_id'])):?>
 <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d2file)?>')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d3file)?>')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>
 <?php else:?>
  <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('gologin')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('gologin')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>
 <?php endif?>
</div>
<!-- } 상품 정보 끝 -->
<script>
$(window).on("load", function() {
    $("#sit_inf_explan").viewimageresize2();
});
function downloadModelFile(url) {
 if (url == 'gologin') {
  alert('<?php echo _t("로그인 후 이용하여 주십시오."); ?>');
  document.location.href = g5_url + '/bbs/login.php?url=' + encodeURIComponent(document.location.href);
 } else {
  document.location.href = g5_url + '/dlmodel.php?file=' + url;
 }
}
</script>

우선 말씀하신 부분은 개발자가 만든게 아니라 영카드 기본 이구요..

소스 올리신거 봣는데 딱히 해당 소스에선 레벨의 제한을두는곳은 없는것 같은데요...

현재 올리신소스가 실제사용되는소스가 맞는지요??

 

해당 소스를 FTP 상에서 열어서 전체 삭제 -> 저장 -> 사이트 확인 -> 소스 Ctrl + z (되돌리기) -> 저장

 

하시면되구요...해서 사이트 확인시 아무것도 안뜨는지 확인이...

 

아...

<?php if (!empty($member['mb_id'])):?> 이걸 주석처리
저 부분이 회원일 경우에만 이라는조건이기때문에 저 조건문을 날리면될것같네요..

안되시면 이렇게 바꿔보셔요~


<?php if (!empty($member['mb_id'])):?>
 <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d2file)?>')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d3file)?>')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>
 <?php else:?>
  <ul class="btn_bo_user">
  <?php if ($d2file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d2file)?>')" class="btn03">2D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
  <?php if ($d3file):?>
  <li><a href="javascript:downloadModelFile('<?=urlencode($d3file)?>')" class="btn03">3D <?php echo _t('다운로드'); ?></a></li>
  <?php endif?>
 </ul>
 <?php endif?>

 

음 단순히 다운로드시에 화면으로 뿌려지는 파일들 (PDF등) 은 태그로 해결은 할 수 있습니다.

<a 태그 끝에 download 를 넣어주시면 됩니다.

 

예시

<a href="javascript:downloadModelFile('<?=urlencode($d2file)?>')" class="btn03" download>2D <?php echo _t('다운로드'); ?></a>

 

현재 출력되는 모든 a태그(다운로드 버튼 4개)에 download 를 추가해주시면

해결되실것 같습니다

download를 넣어도 stp파일은 그냥뿌려지네요..ㅠ;;
그래서 아까알려주신대로 /dlmodel.php?file= 삭제하고
문제되는 stp파일을 zip파일로 다시 업로드해서 모두 zip파일로 다운받게 하면 될거같아요.
감사합니다.^ㅇ^ 행복한하루되세요~~

답변을 작성하시기 전에 로그인 해주세요.
전체 1
© SIRSOFT
현재 페이지 제일 처음으로