(10/20) 불당팩 2.0.0 - PDO(보안강화) + 부트스트랩(반응형)

불당   
   조회 24276  

gnuboard4-buldang-pack.zip (25.3M), Down : 4, 2015-10

부트스트랩 버젼의 버그가 은근히 많이 있는데, 그것을 이번에 거의 다 잡았고

2.0.0 버젼을 base 버젼으로 release 합니다.

 

2.0.0 버젼은 euc-kr로 당분간 배포 합니다.

utf-8 서버에 euc-kr 코드가 잘 돌아가냐고 질문 하시면, 아주 잘 된다고 답해드리겠습니다.

utf-8 버젼은 코드가 많이 안정화 되는 2.0.2 또는 그 이후버젼부터 제공될 겁니다.

 

불당팩 2.0.0부터는...

php 5.1 이상 + PDO extension이 설치 안되면 동작하지 않습니다!!!

보안 강화를 위해서 대중성을 포기 했습니다.

 

모든 부분이 다 PDO로 간 것이 아닙니다.

mysql과 PDO 2개의 DB connection을 동시에 열어서 사용합니다.

기존 코드는 mysql로 동작하고, 일부 코드만 PDO로 동작하게 해서 기존 코드와의 호환성을 확보합니다.

첨가된 코드들은 잘 검토해서, 사용자단의 input이 연결되는 경우 PDO로 코드수정을 해주셔야 합니다.

 

이런 방식의 문제점은 db connection이 2배로 늘어나는 것 입니다 (mysql 1개, PDO 1개...)

MySQL의 my.cnf config를 수정해서 db connection 갯수를 늘려서 대응하시기 바랍니다.

 

최선으로 방어 했슴에도 뚫리는 것과 아무것도 안하고 뚫리는 것은 차이가 아주 큽니다.

몇백만원 돈이 통장에 있으면 PDO로 이전 안해도 됩니다.


 db변경 - index 추가

ALTER TABLE `g4_my_board` ADD INDEX `bo` ( `mb_id` , `bo_table` )

 

 

common.php

config.php

config.2.php

head.php

head.sub.php

tail.php

tail.sub.php

 

adm/admin.head.php

adm/auth_list.php 

adm/auth_update.php

adm/member_delete_unlogin.php

adm/member_delete_unvisited.php

adm/upgrade_bd.php

 

bbs/board.php 

bbs/board_head.php

bbs/board_tail.php 

bbs/point.php

bbs/poll_etc_update.php

bbs/profile.php

bbs/register_form_update.php

bbs/scrap_popin_update.php

bbs/visit_insert.inc.php

bbs/view.php

bbs/write_update.php

 

cheditor/cheditor.js

 

install/sql_opencode.sql

 

js/b4.common.js

js/common.js

js/bootstrap/*

 

lib/b4.lib.php

lib/common.lib.php

lib/latest.lib.php

lib/whatson.lib.php

 

skin/banner/basic/banner.skin.php

 

skin/board/boot/list.skin.php 

skin/board/boot/view_comment.skin.php

skin/board/boot/view.skin.php

skin/board/boot/write.skin.php

 

skin/board/boot_flea/list.skin.php 

skin/board/boot_flea/view_comment.skin.php

skin/board/boot_flea/write.skin.php 

 

skin/board/boot_img/view_comment.skin.php

skin/board/boot_image/write.skin.php

 

skin/board/boot_oneline/list.skin.php

 

skin/latest/naver/latest.skin.php

 

skin/member/basic/login.skin.php

skin/member/basic/profile.skin.php

skin/member/basic/register_form.skin.php

skin/member/basic/register_result.skin.php

skin/member/basic/scrap.skin.php

 

skin/memo/basic/memo2.head.skin.php

skin/memo/basic/memo2_list.skin.php

skin/memo/basic/memo2_write.skin.php

 

skin/outlogin/basic/outlogin.skin.1.php

 

skin/whatson/basic/whatson.skin.php

 

(삭제)

gchat.php

images/*

lib/daum.lin.php

 

 

 

- (10/22) xs/sm 환경에서 답글 아이콘 180도 회전

skin/board/boot/list.skin.php

 

- (10/22) 스맛폰 폰트 14px로 변경

style.css

 

- (10/20) 쪽지 검색버튼 style 변경

skin/memo/basic/meno2_list.skin.php

 

- (10/20) 링크 줄바꿈

skin/board/boot/view.skin.php

 

- (10/20) DB변경/index 추가 (deadlock 이슈)

adm/upgrade_bd.php

bbs/board.php

install/sql_opencode.sql

 

- (10/20) 한줄 게시판 style 수정

skin/board/boot_oneline/list.skin.php

 

- (10/20) 게시판 select 버튼 style 오류 수정

skin/board/boot/list.skin.php

 

- (10/20) cheditor 버젼업 대응 (그냥 두면 편집기 업글이 안되요...)

skin/board/boot/write.skin.php

skin/board/boot_image/write.skin.php

skin/board/boot_flea/write.skin.php

skin/memo/basic/memo2_write.skin.php

 

- (10/20) cheditor EDGE 오류 패치

cheditor/cheditor.js

 

- (10/19) 게시판 상단/하단 여백줄 없애기

bbs/board_head.php

bbs/board_tail.php 

 

- (10/19) 제목글자수 늘리기

skin/member/basic/scrap.skin.php

skin/memo/basic/memo2_list.skin.php

 

- (10/19) 자동로그인 오류 서정

lib/common.lib.php

 

- (10/19) new icon 수정

skin/board/boot/view_comment.skin.php

skin/latest/naver/latest.skin.php

 

- edge 설정을 추가

config.php

 

- sideview가 close 안되는 이슈

lib/common.lib.php

tail.sub.php

 

- 스마트폰에서 검색을 하면 제목이 안나오는 오류

skin/board/boot/list.skin.php

skin/board/boot_flea/list.skin.php

 

- 2.0.0 - 배너광고 이미지의 border를 없앰

skin/banner/basic/banner.skin.php

 

- 댓글 이미지 링크 안나오는 것 수정

skin/board/boot/view_comment.skin.php

skin/board/boot_flea/view_comment.skin.php

skin/board/boot_img/view_comment.skin.php

 

- 쪽지 프로그램 수정

skin/memo/basic/memo2.head.skin.php

skin/memo/basic/memo2_list.skin.php

 

- 전체 최근글 앞에 게시판 이름 나오게 수정 

skin/latest/naver/latest.skin.php

 

- 배너이미지 출력에 img-responsive 클래스 추가

skin/banner/basic/banner.skin.php

 

- profile에서 서명 안보이는 것 수정

bbs/profile.php

skin/member/basic/profile.skin.php

 

- 쪽지 open window 사이즈 조정

js/common.js

 

- 로그인 화면의 체크버튼 위치오류 수정

skin/member/basic/login.skin.php

 

- outlogin 버튼폭 오류수정

skin/outlogin/basic/outlogin.skin.1.php

 

- bule 테마로 교체

head.php

js/bootstrap/*

js/bootstrap_green/* (기존 테마는이름 변경)

 

*** 알파2 ***

 

- 안쓰는 코드 정리

gchat.php (삭제)

head.php

images/* (삭제)

adm/admin.head.php

js/b4.common.js

lib/latest.lib.php

lib/daum.lin.php (삭제. 2015.8 서비스종료)

 

- 스크랩창 링크 이동 안되는 버그

skin/member/basic/scrap.skin.php

http://www.opencode.co.kr/bbs/board.php?bo_table=gnu4_pack_req&wr_id=1538

 

- 게시판목록 상단에 빈줄 나오는 것

bbs/board_head.php

bbs/board_tail.php

http://www.opencode.co.kr/bbs/board.php?bo_table=gnu4_tips&wr_id=1085

 

- what's on stye 오류 수정

lib/b4.lib.php

lib/whatson.lib.php

skin/whatson/basic/whatson.skin.php

 

- style 수정

skin/whatson/basic/whatson.skin.php

 

- 게시글 내부 광고 삽입을 위한 코드

skin/board/boot/view.skin.php

 

- 회원가입 결과화면 style 수정

skin/member/basic/register_result.skin.php

 

- 태그오류 수정

skin/member/basic/register_form.skin.php 

 

- hammer.js 삭제 (속도와 오터치 때문)

head.sub.php

tail.php

 

- 쪽지에 닫기 버튼추가 (모바일에서 필요...)

skin/memo/basic/memo2.head.skin.php

 

- 휴면회원 코드 개선

adm/member_delete_unlogin.php

lib/common.lib.php

 

- 관리자 페이지 pdo 변경 (1)

adm/auth_list.php

adm/auth_update.php

 

- $level 변수 (int)로 cast

adm/admin.lib.php

 

- PDO 적용 (common.php 관련)

common.php

bbs/point.php

bbs/poll_etc_update.php

bbs/register_form_update.php

bbs/scrap_popin_update.php

bbs/visit_insert.inc.php

bbs/write_update.php

lib/common.lib.php

 

- 회원삭제를 1,000개 단위로 하게 코드 수정

adm/member_delete_unvisited.php

 

- 자주 안쓰는 설정코드 이동

common.php

config.2.php

- opencode.co.kr -
부트스트랩, 알지오
IT전문교육 실무중심 부트스트랩, 원격평생교육시설 정식인가.
이파트 홈페이지 제작 전문
업종별 홈페이지 및 반응형, 다국어, 워드프레스, 모바일 홈페이지 제작 전문기업
원페이지웹사이트
부트스트랩을 활용한 반응형웹사이트, 원페이지웹사이트
파워링크 AD   클릭초이스등록
재회 2015-09
차후에는 완전히 넘어가시는 건가요...?
     
불당 2015-09
앞으로 PDO로 완전히 넘어가야 할 것 같습니다.
뉴스로 잘 아시겠지만 개인정보 유출시 (SQL injection 등에 의한) 과징금이 기본으로 몇백만원 입니다.
커뮤니티가 흙파먹고 사는 현실에서 몇백만원 과징금 맞으면 노답 입니다.
PDO로 기본 방어 들어가고 UTM 보안장비 등의 강화를 한 경우에는 과징금 경감이 가능할 것 입니다.

지금 opencode의 몇가지 코드는 PDO로 동작하고 있습니다.
PDO 변경의 기본은 그누4에서 보안패치로 수정한 SQL Injection 부분들 입니다.
그 부분들을 PDO 변경하면 SQL Injection은 거의 차단 가능할거에요.

기본 골격은 MySQL. 해킹에 민감한 부분은 PDO... 이렇게 보시면 됩니다.
스쿨 호스팅 등이 php 5.2를 지원하기 때문에 PDO 사용에는 큰 어려움이 없고,
자가 서버의 경우에는 PHP에 PDO만 추가하면 됩니다.
성능은 큰 차이 없는거 같구요.

우선적으로 사이트에 휴면회원모듈부터 적용하시면 될거에요.

레인보우 테이블이 완벽에 가까워져서, 유출되면 비번은 100% 풀립니다.
게시판 개발자로써 SQL Injection은 최선을 다해서 방어해야 할 것 같아서 무릿수를 뒀습니다.
     
불당 2015-09
관리자님이 계속해서 그누4의 보안패치를 하고는 계시지만, 그것은 사후 약방문에 불과 합니다.
원천적인 차단은 될 수 없어요.
원천차단은 prepared sql로 처리를 하는 것이고, 그 방법은 PDO로 가야 하는 것 입니다.

opencode 사이트는 시큐아이 MF2 장비로 차단을 걸고 있지만 그럼에도 뭔가 찜찜합니다.
UTM의 시그니춰로 막는 것은 제한적인 부분 밖에 없고, 그것은 해커들이 모두 우회하니까요.

가독성은 최대한 높이려고 하고 있습니다. 힘들면 저도 못 읽으니까요.
http://www.opencode.co.kr/bbs/board.php?bo_table=mysql_tips&wr_id=190

대응보안패치는...
http://sir.co.kr/g4_pds/9033?sfl=wr_subject%7C%7Cwr_content&stx=%EB%B3%B4%EC%95%88%ED%8C%A8%EC%B9%98

그누5에도 보안이란 부분은 대부분 누락된 상태 입니다.
보완을 하는 회원들도 없구요.
대중성을 위해서 보안을 포기한 경우인데...
재회 2015-09
해야할일으 많아지는 군요. 그래도 대대적으로 한번 뒤집어 어퍼야겠습니다. 어째든 항상 감사드립니다.
     
불당 2015-09
뽐뿌의 경우에는 4-5천만원 정도 과징금 예상 합니다.
후덜덜하죠.
정보유출에 따른 기본 과징금 + 추가 과징금의 구조인데, 기본 과징금도 상당하지만 추가 과징금도 엄청 납니다.
이미 대기업에서 다 털린건데, 정부는 작은 사이트들을 같은 잣대로 두들겨 패고 있어요. -.-...

지난 몇달 테스트 해보니 IPS나 웹방화벽. 아무리 걸어도 SQL Injection 차단은 불가능한 것 같더라구요.
mysqli는 cafe24도 지원하지만 PDO는 지원하는 곳이 많지 않습니다.
mysqli는 dynamic binding 하다가 도저히 대응이 안되서 포기를 해버렸는데... mysqli는 다른 것도 불편하더라구요.

사이트 운영에 대한 기본 rule은 정리해서 다시 올릴텐데...
서버관리를 하실 때는 원칙적으로는 openvpn으로 접속 하셔야 해요. 망분리 입니다.
사이트 접속하는 pc는 vm으로 해서 개발목적으로만 쓰셔야 하구요.

점점 더 사이트 운영이 힘들어지네요.

===

휴면 회원 관리는 바로 적용하시기 바랍니다.
불당 2015-10
*** 10/20일 2.0.0 final release 했습니다 ***


제목Page 1/11
     
2013-11   27878   불당
2016-07   43515   불당
06-02   8467   불당
06-07   1135   불당
06-02   8467   불당
2016-07   43515   불당
2016-05   48353   불당
2016-04   20243   불당
2016-02   21887   불당
2016-01   6371   불당
2016-01   13487   불당
2016-01   13052   불당
2015-12   11928   불당
2015-12   6556   불당
2015-12   7218   불당
2015-11   8234   불당
2015-10   6992   불당
2015-10   15997   불당
2015-10   25608   불당
2015-10   25040   불당
2015-10   10944   불당
2015-10   10314   불당
2015-09   24277   불당