s

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

· 2017-05-19 (금) 02:16:00 · 7136 · 6
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;
}
|

댓글 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;
}

이렇게 수정하여 사용하는 편이 더 간소할 듯 싶습니다.
그 외 서버 환경에 따라서 좀 더 전문적인 검증코드를 작성하시면 되겠습니다.
감사합니다 잘쓰겠습니다^^
좋은 정보 감사합니다 :)
2019-05-01 (수) 04:15:29
어떤 보안 방법인가요? ^^
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
17-05-22 조회 6,406
17-05-20 조회 5,373
17-05-19 조회 7,250
17-05-19 조회 7,137
17-05-18 조회 5,368
17-05-18 조회 8,299
17-05-18 조회 6,217
17-05-18 조회 1만
17-05-18 조회 9,670
17-05-18 조회 7,395
17-05-17 조회 4,962
17-05-17 조회 6,070
17-05-17 조회 5,323
17-05-17 조회 7,150
17-05-16 조회 6,461
17-05-16 조회 6,496
17-05-16 조회 7,307
17-05-13 조회 9,775
17-05-12 조회 8,414
17-05-08 조회 1.6만
17-05-08 조회 1.1만
17-05-07 조회 1.2만
17-05-07 조회 5,994
17-05-04 조회 6,543
17-05-03 조회 6,958
17-05-02 조회 8,538
17-05-01 조회 1.1만
17-04-27 조회 6,848
17-04-26 조회 1.3만
17-04-24 조회 8,495