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

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

QA

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

본문

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

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

 

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파일로 다운받게 하면 될거같아요.
감사합니다.^ㅇ^ 행복한하루되세요~~

답변을 작성하시기 전에 로그인 해주세요.
전체 150
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT