OpenSSL for HTTP 게시판에 적용하는 방법 좀 알려주세요.

OpenSSL for HTTP 게시판에 적용하는 방법 좀 알려주세요.

QA

OpenSSL for HTTP 게시판에 적용하는 방법 좀 알려주세요.

본문

안녕하세요.

 

아파치님께서 올려주신 "OpenSSL for HTTP 에러 수정판"을 설치했습니다.

http://sir.co.kr/g5_plugin/503?sfl=wr_subject%7C%7Cwr_content&stx=%EB%B3%B4%EC%95%88%EC%84%9C%EB%B2%84

 

원본은 letsgolee님의 "OpenSSL for Http-보안서버기능을 하는 암호화 프로그램" 입니다.

http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=14

 

 

홈페이지에 보안서버를 구축하고 싶어서 OpenSSL과 스마일서브 보안서버 두개를 설치해봤는데

둘 다 홈페이지에 적용하니 잘 작동이 됩니다.

 

그런데 전 이걸 게시판에도 적용하고 싶습니다.

게시판에 필드를 추가해서 개인정보 입력하는게 더 있어서요.

댓글에 나온 설명을 참고해도 기본지식이 없는 저로써는 되지를 않습니다.

 

이거 성공하신 분 계신거 같은데 설정 방법 아시는분 계시면 답변 좀 부탁드립니다.

 

감사합니다.

 

이 질문에 댓글 쓰기 :

답변 2

"OpenSSL for HTTP" 를 게시판에 적용하는 일을 너무 어렵게만 생각하실 이유가 없습니다.

 

어차피 "OpenSSL for HTTP" 의 기능이 클라이언트가 서버로 정보를 넘길 때 암호화하는 것이기 때문에

이 기능이 잘 작동되도록 하면 되는 것입니다.

그런 면에서 letsgolee님이 공개해 주신 "OpenSSL for HTTP" 프로그램은 매우 훌륭한 도구입니다.

 

먼저, common.php 파일에

-----------------------

include_once G5_LIB_PATH.'/http_openssl/http_openssl.lib.php';
http_openssl_load();

-----------------------

이런 식으로 http_openssl 로드되어 실행되고 있다고 전제할 때

skin/member/basic/login.skin.php 에 적용된 것을 그대로 응용하면 됩니다.


암호화하길 원하는 게시판 스킨의 write.skin.php 파일을 열어서 상단에 아래와 같이 추가합니다.


if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
http_openssl_simple_prepare(); //추가한 코드


그리고 하단의 자바스크립트 부분 fwrite_submit(f) 함수 내용의 맨 아래 부분에

return true; 를 아래와 같이 수정합니다.


//return true; //이부분 대신 아래부분을 사용함
<?php http_openssl_js_form_submit('f'); ?>


참고로 skin/member/basic/register_form.skin.php 에 적용된 것처럼

view 페이지나 수정하는 페이지에 나타나는 정보도 암호화할 필요가 없다면 위와 같이 하면 됩니다.

위와 같이 하면 write_update.php 에서 해당 정보를 저장할 때 필요한 데이타는 common.php 파일의 http_openssl_load(); 함수에서 알아서 다 복호화해 줍니다.

정말 잘 만든 프로그램이죠.^^

 

위에서도 말했듯이 클라이언트에서 서버로 넘어가는 정보를 암호화하는 것이  "OpenSSL for HTTP" 의 주된 역할임을 고려할 때 수정할 때나 view 페이지에서 정보를 열람하는 부분까지 암호화할 필요는 없다고 생각합니다.  

그리고 개인적으로는 letsgolee님이 공개해 주신 "OpenSSL for HTTP" 프로그램이 응용해서 적용하기에 더 편리하고 좋은 것 같습니다.

 

예제로 아래의 링크는 제가 지인에게 만들어준 상담폼인데 "OpenSSL for HTTP" 프로그램이 적용되어 있습니다. 소스보기를 하시면 확인하실 수 있습니다.

http://www.bankpark.co.kr/loan/loan.php?lid=apply

선우善友님 친절하신 답변 정말 감사합니다.
알려주신대로 적용해 봤습니다.

저도 어제부터 이것 저것 적용해 봤는데 비슷하게 적용도 했었던거 같습니다.

전 글 수정할때 회원정보 수정하는것 처럼 암호화가 안되길래 제대로 적용이 안될줄 알고 계속 이것 저것 시도해보다가 문의글까지 남긴거였습니다.

그런데 선우善友님 답변을 보면 글 수정시 암호화가 되지 않아도 적용이 된거란 말씀이시지요?
그럼 이대로 써도 문제 없는거겠지요?

선우善友님 한번만 더 질문을 드릴께요.
알려주신대로 하면 글수정 페이지 소스보기에서 value값이 암호화가 된게 아니라 그냥 입력한 내용이 나오는데 이렇게 보여도 제대로 적용된게 맞는건가요?

네, 맞습니다.

어차피 "OpenSSL for HTTP" 의 주된 기능이 클라이언트가 입력한 정보를 암호화하여 서버로 넘기고 이것을 복화하 하는 것이기 때문에 글 수정페이지에서 해당 정보를 굳이 암호화하여 보여줄 필요는 없습니다.

그러므로 http_openssl_simple_prepare(); 기능만으로도 충분하다고 생각합니다.

 

masahide님이 작업하신 내용이 letsgolee님께서 알려주신 내용과 맞다면 그대로 쓰시면 됩니다.

 

참고로 암호화된 데이타가 제데로 넘어와 복호화되고 있는지 확인하시려면 

common.php 파일에 아래와 같이 $test_post = $_POST; 를 추가하신 다음


$test_post = $_POST;
include_once G5_LIB_PATH.'/http_openssl/http_openssl.lib.php';
http_openssl_load();

 

./bbs/write_update.php 파일 상단에 $test_post 와 $_POST 를 구분해서 비교해 보세요.


//암호화된 데이타
foreach($test_post as $key=>$val){
  echo $key.':'.$val.'<br>';
}
echo '<br><br>';
 
//복호화된 데이타
foreach($_POST as $ky=>$vl){
  echo $ky.':'.$vl.'<br>';
}
 
exit;

 

선우善友님 답변 정말 감사합니다.

알려주신 내용을 적용하긴 했는데 어디서 뭘 확인하는건지는 잘 모르겠습니다.
소스에서 봐도 차이가 없어보이구요.

하지만 알려주신 내용으로 해도 게시판에 적용한게 문제가 없다고 하시니 마음이 홀가분하네요.
다시한번 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 110
QA 내용 검색

회원로그인

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