나중에 문제해결을 위해 검색할 누군가를 위해 남겨봅니다.
https ssl 보안인증 적용후 스마트에디터의 DHTML 기능이 동작하지 않는 문제가 있었습니다.
질문계시판에도 글을 올렸지만 해결은 되지 못했었습니다.
https://sir.kr/qa/246031?s_tag=%EA%B7%B8%EB%88%84%EB%B3%B4%EB%93%9C5
소스를 추적해 보니 \smarteditor2\js\service\HuskyEZCreator.js 파일안의 함수가 비정상동작을 하는 현상이 확인되었습니다.
저는 가상호스팅 환경에서 웹서버를 돌리고 있는 상태입니다.
DHTML의 기능은 <iframe> 태그를 통해 구현되는데 프레임내에 정상적인 데이터가 삽입되지 않는것을 확인하였습니다.
하루종일 뻘짓을 하고 결국 찾아낸 원인은 SSL 적용시 httpd.ssl.conf (사용자마다 이름은 다를수 있음) 파일내에 설정의 문제였습니다.
Header always append X-Frame-Options DENY
로 되어 있는 설정을
Header always append X-Frame-Options SAMEORIGIN
로 변경해주시면 됩니다.
돌고돌아 결국은 문제를 해결했지만 다소 어이없는 곳에서 원인을 찾았기에 허탈하기도 하지만
혹시라도 저와 유사한 경우에 계실분을 위해 기록을 남겨둡니다.
======================
## ClickJacking과 같은 공격의 보안을 위해 X-Frame-Options 헤더 사용
- DENY 해당 페이지는 frame을 표시 않함.
- SAMEORIGIN 해당 페이지와 동일한 orgin에 해당하는 frame만 표시.
- ALLOW-FROM https://sample.com 해당 페이지는 지정된 orgin에 해당하는 frame만 표시.
<?php header('X-Frame-Options: DENY'); ?>
<?php header('X-Frame-Options: SAMEORIGIN'); ?>
<?php header('X-Frame-Options: ALLOW-FROM uri'); ?>
#ex)
<?php
header("Content-Type: text/html; charset=utf-8");
header("X-Content-Type-Options: nosniff");
header("X-Frame-Options: SAMEORIGIN");
header("Cache-Control: must-revalidate");
$offset = 60 * 60 * 24 * 3;
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);
?>
### 서버설정이 가능하다면..
### Apache :
Header always append X-Frame-Options SAMEORIGIN
### ngnix :
add_header X-Frame-Options SAMEORIGIN;
'PHP 프로그래밍' 카테고리의 다른 글
mysql old_password 구현 (0) | 2024.01.10 |
---|---|
PHPEXCEL 다운로드 (0) | 2018.03.05 |
include 파악 (0) | 2018.02.01 |
CMS (0) | 2018.01.14 |
PHP 이카운트 연동 (0) | 2018.01.14 |