ajax 호출 페이지 간단한 보안 적용 > 그누보드5 팁자료실

그누보드5 팁자료실

ajax 호출 페이지 간단한 보안 적용 정보

ajax 호출 페이지 간단한 보안 적용

본문

js에서 호출하는 ajax url의 php 확장자 파일에
아래의 코드를 최상단에 적용하면 끝입니다.

여러가지 추가 검증 코드를 추가하여 조건에 부합하지 않을 경우,
$validity = false; 먹여버리면 되겠습니다.

<?php
include_once('./_common.php');
$validity = true;
if (!stripos(G5_DOMAIN, $_SERVER['SERVER_NAME'])) {
    $validity = false;
    exit;
}
if (!$_SERVER['HTTP_X_REQUESTED_WITH'] || empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])!='xmlhttprequest') {
    $validity = false;
    exit;
}
if (!$validity) {
    exit;
}
추천
2

댓글 6개

감사합니다~
그런데, 호스팅환경이 그래서 그런지... G5_COOKIE_DOMAIN 상수값 앞에  . 이 붙어 있네요?
그리고,
$headers=apache_request_headers();
$current_host=$headers['Host'];
저는, 버전이 낮아서 그런지.. 위 처럼 처리했습니다~
상수 문자열 가장 앞에 보통은 닷(.)이 붙어있는 것이 맞습니다.
정상입니다. 다만 운영하시는 서비스의 url의 앞단 www. 혹은
서브 도메인을 사용하지 않는다면 가장 앞단의 .은 빼도 될 것 같습니다.

넵. apache_request_headers 함수는 아파치 환경이 아닐 경우 작동하지 않을 수 있으며
php 버전에 따라서 호출이 불가능한 경우도 있으니 찐감자님의 경우처럼 유연하게 대응하시면 되겠습니다.

감사합니다. ^^

아. 그리고 본문의 소스는 다시 수정하여 고쳐보겠습니다.
if (!stripos(G5_DOMAIN, $_SERVER['SERVER_NAME'])) {
    $validity = false;
    exit;
}

이렇게 수정하여 사용하는 편이 더 간소할 듯 싶습니다.
그 외 서버 환경에 따라서 좀 더 전문적인 검증코드를 작성하시면 되겠습니다.
전체 2,429 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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