테스트 사이트 - 개발 중인 베타 버전입니다

경로 접속 문제입니다. 고수님! 한번 봐주십시오 채택완료

rewqaa 3년 전 조회 2,225

전번에 올렸는데 아직 미해결입니다. 

aa게시판 = 예약게시판    /    http://........cc/index.php  = 선물고르기 페이지(일반페이지)

aa게시판 경로 = /html/mobile/skin/board/aa        /      cc페이지 경로 /html/cc

 

예약게시판에 글 작성하면 바로 cc페이지에 접속하게 됩니다.

단독으로 cc페이지 접속을 막고자합니다.

http://.....cc/index.php 이렇게 주소를 직접 적고 접속 하려거나 링크를 타고 접속 하려고하면 "예약게시판에 글 작성하세요" 란 메시지 보여주고 예약게시판으로 들어갑니다.

즉 예약게시판에 글작성해야만 접속가능 그외 접속불가요 . 

고수님이 알려주신 것 해봤는데 안됩니다.

 

aa 게시판 write_update.skin.php //파일 내용

<?php
if (!defined('_GNUBOARD_'))  exit; // 개별 페이지 접근 불가

alert("등록 완료! \\n 선물 고르러 고~", "../cc/");  // 일반페이지

set_session('ss_'.$bo_aa, time());
set_session('ss_'.$bo_cc, time());
set_session('ss_'.$aa, time());
set_session('ss_'.$cc, time());
set_session('ss_'.$bo_table, time());
set_session('ss_write_chk', time());

?>

cc페이지는 접속 성공

 

cc 페이지 상단 내용

<?php
include_once("./_common.php");
$g5['title'] = "";
include_once("./_head.php");
include_once("./config.php");

//if(!get_session('ss_aa_chk')) exit;
//if(!get_session('ss_aa')) exit;
//if(!get_session('ss_게시판코드')) exit;
//if(!get_session('ss_write_chk')) exit;
//if (!defined('http://..../bbs/write.php?bo_table=aa')) exit; 
//if (!defined('http://...../cc')) exit; 

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (!$member['mb_id'])
{
alert("회원만 이용할 수 있습니다. 회원이시라면 로그인 후 이용해 보십시오.",'/');
}
?>

이러면 링크,주소, 예약게시판 글 작성후나 모두 접속가능합니다.

 

위 주석 중 하나라도 풀면 상단만 나옵니다. (모두체크해봤습니다.) 

링크, 주소, 예약게시판(aa)에 글작성후나 동일하게 나타납니다.

 

어디를 수정해야 합니까.

알려주시면 너무 감사하겠습니다.

 

 

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

댓글에 적으신 것처럼 가장 간단하게는 referer 로 체크하시면 됩니다

 

</p>

<p>if($_SERVER['HTTP_REFERER'] != "<a href="<a href="https://sir.kr/bbs/write_update.php" target="_blank" rel="noopener noreferrer">https://sir.kr/bbs/write_update.php</a>" rel="noreferrer noopener" target="_blank"><a href="http://........../bbs/write_update.php" target="_blank" rel="noopener noreferrer">http://........../bbs/write_update.php</a></a> "){</p>

<p>alert('예약확인후 접근가능합니다.');</p>

<p>exit();</p>

<p>}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

r
rewqaa
3년 전
메인 접속 = http://......com
링크 접속 = http://..../bbs/board.php?bo_table=free&wr_id=2
예약 등록 후 = http://..../bbs/write.php?bo_table=aa

echo $_SERVER['HTTP_REFERER']; // 보면
달리 접속해도 동일하게 보여집니다.

http://.....com/ 이렇게만 주소가 고정으로 나옵니다.

if($_SERVER['HTTP_REFERER'] != "http://.....com/"){
alert('예약확인후 접근가능합니다.');
exit();
}
"http://.....com/"주소가 다르면 에러 메시지 발생하고 주소가 동일하면 정상입니다.

이것만 해결 하면 되겠네요. 함 해볼게요.

HTTP ERROR 500 에러는 파일설정이였나봅니다. 설정하니 잘 나옵니다.
감사드립니다.
r
rewqaa
3년 전
해결완료! 잘 됩니다. 정말 감사드려요.
많이 질문하고 구걸하러 다녔는데 님이 해결해 주셔서 너무 감사드립니다.
대단하십니다.
건강하게 잘 지내세요

댓글을 작성하려면 로그인이 필요합니다.

if($_SERVER['HTTP_REFERER'] != "<a href="http://........../bbs/write_update.php"" target="_blank" rel="noopener noreferrer">http://........../bbs/write_update.php"</a> && $_SERVER['HTTP_REFERER'] != "<a href="http://........../bbs/write_update.php" target="_blank" rel="noopener noreferrer">http://........../bbs/write_update.php</a> "){
alert('예약확인후 접근가능합니다.');
exit();
}</code></pre>

<p><code>이런식으로 조건을 추가하시면 됩니다</code></p>

<p><code>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

r
rewqaa
3년 전
너무 너무 감사합니다.
완벽하게 잘 됩니다.
행복하세요.^^

댓글을 작성하려면 로그인이 필요합니다.

r
3년 전

if($_SERVER['HTTP_REFERER'] != "http://........../bbs/write_update.php">http://....../bbs/write_update.php" (or)(||) "http://........../bbs/write_update.php">http://........../dd")

둘중 하나만 있어도 접속가능은 안될까요. 

위 둘다 해 봤는데 안됩니다.

아시면 알려주시면 고맙겠습니다.

수고하세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인