HTTP_REFERER 질문드립니다.
본문
안녕하세요
폼메일을 사용중인데 스팸이 너무 들어와서...
a.php의 form 에서 action 주는 페이지가 b.php인데
최상단에
if($_SERVER['HTTP_REFERER'] == '') exit("잘못된 접근입니다.");
를 넣어서 직접 입력해서 못들어오게 해놨습니다.
근데 이게
a페이지를 통해서 b를 들어와야지만 정상 접수로 하고 싶은데
그 방법이 맞는지.. 맞게 하고 있는건지 알고 싶습니다..ㅎ
물론 직접경로로 b.php를 들어가면 잘못된 접근이라고 나오지만
a.php 를 통해서만 b.php를 들어가야 정상적인 접근이 되게 하고 싶습니다.
답변 4
a.php 에서 세션을 넣으시고
b.php에서는 해당 세션이 있는지 체크하시면 됩니다.
다양한 방법이 있겠지만 a.php 에서 b.php 로 넘길때 임의의 키값 token = "andneKAmlu9ZPl" 이런 값을 넘겨서 해보시는 건 어떨까요~
GET 이나 POST 를 하나 만들어서 그게 이를테면 "yes" 일 경우에만 열리게 하면 되지 않을까요?
제생각엔 페이지별 접속기록을 남기는겁니다.
현재 페이지에 접속한 사용자, 페이지정보, 시간 정도를
모든페이지에 기록하게 합니다. (페이지 하단부 혹은 tail.php 등에
그리고,
B.php 에서는 현재 접근한 사용자의 최종위치를 상단(헤더부)에서
현재페이지가 b.php이고 이전접속정보가(최종) a.php 이라면 정상
그외에는 header("Location: 이전페이지.. "): 와 같은 형태로 보내버리거나 메세지등으로 분기처리합니다.
답변을 작성하시기 전에 로그인 해주세요.