경로 접속 문제입니다. 고수님! 한번 봐주십시오 채택완료
전번에 올렸는데 아직 미해결입니다.
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개
댓글에 적으신 것처럼 가장 간단하게는 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개
많이 질문하고 구걸하러 다녔는데 님이 해결해 주셔서 너무 감사드립니다.
대단하십니다.
건강하게 잘 지내세요
댓글을 작성하려면 로그인이 필요합니다.
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개
완벽하게 잘 됩니다.
행복하세요.^^
댓글을 작성하려면 로그인이 필요합니다.
if($_SERVER['HTTP_REFERER'] != "http://........../bbs/write_update.php">http://....../bbs/write_update.php" (or)(||) "http://........../bbs/write_update.php">http://........../dd")
둘중 하나만 있어도 접속가능은 안될까요.
위 둘다 해 봤는데 안됩니다.
아시면 알려주시면 고맙겠습니다.
수고하세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
링크 접속 = 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 에러는 파일설정이였나봅니다. 설정하니 잘 나옵니다.
감사드립니다.