나중에 문제해결을 위해 검색할 누군가를 위해 남겨봅니다.

 

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

+ Recent posts