외부접근 차단?

외부접근 차단?

QA

외부접근 차단?

본문

3등급 이상인 회원리스트를 다운로드 할 수 있는 페이지를 만들었습니다.

관리자만 엑셀 파일로 다운로드 할 수 있게끔 만들었는데요...

 

문제는 주소창에서 이 파일에 대한 경로명을 직접입력하면 권한에 상관없이 다운로드 되고 있습니다.

권한 없는 사람의 주소 직접 입력으로 페이지에 접근하는 것을 차단할 방법이 있을까요?

 


 
<?
header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=".date('Ymd').".xls");
header("Content-Description: PHP5 Generated Data");
header("Content-charset=utf-8");
echo("<meta http-equiv='content-type' content='text/html; charset=utf-8'>");
include "_common.php";
 
if ($member['mb_level'] < 9)
alert("관리자만 접근 가능한 페이지입니다", "/");
?>
<table border="1">
 <tr align="center">
  <td>번호</td>
  <td>이름</td>
  <td>가입일</td>
  <td>연락처</td>
  <td>Email</td>
 </tr>
  <?
  $mem = sql_query("SELECT * FROM g5_member where mb_level >= 3 && mb_leave_date = '' && mb_intercept_date = '' && mb_email_certify != '' ORDER BY mb_no DESC");
  while($row = sql_fetch_array($mem)) {
  ?>
 <tr>
  <td><?=$row['mb_no']?></td>
  <td align="center"><?=$row['mb_name']?></td>
  <td align="center"><?=date("Y-m-d", strtotime($row['mb_datetime']));?></td>
  <td align="center"><?=$row['mb_hp']?></td>
  <td><?=$row['mb_email']?></td>
 </tr>
<?
}
?>
</table>

이 질문에 댓글 쓰기 :

답변 2

안녕하세요.

아래처럼 변경해 보세요~

 

<?php
include_once('./_common.php');

if ($member['mb_level'] < 9)
alert("관리자만 접근 가능한 페이지입니다", "/");

header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=".date('Ymd').".xls");
header("Content-Description: PHP5 Generated Data");
header("Content-charset=utf-8");
echo("<meta http-equiv='content-type' content='text/html; charset=utf-8'>");

 ?>
<table border="1">
 <tr align="center">
  <td>번호</td>
  <td>이름</td>
  <td>가입일</td>
  <td>연락처</td>
  <td>Email</td>
 </tr>
  <?php
  $mem = sql_query("SELECT * FROM g5_member where mb_level >= 3 && mb_leave_date = '' && mb_intercept_date = '' && mb_email_certify != '' ORDER BY mb_no DESC");
  while($row = sql_fetch_array($mem)) {
  ?>
 <tr>
  <td><?=$row['mb_no']?></td>
  <td align="center"><?=$row['mb_name']?></td>
  <td align="center"><?=date("Y-m-d", strtotime($row['mb_datetime']));?></td>
  <td align="center"><?=$row['mb_hp']?></td>
  <td><?=$row['mb_email']?></td>
 </tr>
<?php
}
?>
</table>

 

 

 

if (!$is_admin)
  alert("관리자만 접근 가능한 페이지입니다", "/");

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

회원로그인

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