크롬80버전 결제 이슈, 영카트5 주요패치 확인!

SQL 인젝션은 어떻게 막을수 있나요? > 그누보드5 팁자료실

컨텐츠몰 10% 할인
그누보드5
영카트5
매뉴얼
Q & A
제작의뢰
컨텐츠몰
부가서비스
소모임
커뮤니티

그누보드5 팁자료실

SQL 인젝션은 어떻게 막을수 있나요? 정보

SQL 인젝션은 어떻게 막을수 있나요?

본문

1. pdo의 bind parameter,  pdo의 quota 함수,  mysql_real_eacape_string 함수 등을 이용
  - pdo  bind 를 쓰는게 가장 바람직합니다. 그냥 bind는 의미 없구요. order by 구문은 bind가 안되는 부분임으로
    코드에서 order by value 를 꼭 확인해야 합니다. url 에 온 파라메타 그대로 order by에 쓰면 안돼요!!

2. url 파라메타에 select, update, union, and, or 구문 사용금지(그외 웹용 특수문자 입력금지)
    - 게시판은 이게 좀 곤란하죠... 게시판의 제목과, 본문, 코멘트는 그누보드 필터 함수를 꼭 쓰셔야 해요.(그누보드 함수 좋아요)

3. 웹서버에 웹방화벽 모듈 설치 mod_security or webknight, naxsi, dot depeder 등등..
  - sql injection 공격이 한번 들어온곳은 계속 들어옴으로, 웹방화벽에서 추가를 해야 해요.. 개인적으로 nginx 모듈인 naxsi 를 추천합니다. 이건 다시한번 정리해서 올릴 예정입니다.

4. 웹방화벽 기능이 있는 cdn 서비스 이용 (클라우드 플레어 등)
  - 클라우드 플레어의 프로 플랜 이상이면 사용이 가능합니다. 정상적인걸 막는 경우도 있음으로 룰셋을 잘 관리해야 합니다.
    (그런데 클라우드플레어 국내에선 너무 느려서.... 공격들어올때 잠깐 켰다가 끄는 방법을 추천)

5. 웹소스로 된 방화벽 코드 추가(kisa 캐슬.. 성능은 예전에 안 좋았는데, 요즘은 어떤지 모르겠음.). github 에도 좀 있을듯.
  - 경험삼아 한번씩 설치해보세요. 접속자가 많지 않은곳은 성능 이슈가 없어서 괜찮습니다.

지금 사이트와 개발자 상황에 맞춰서 5가지중에 가능한걸 적용하시면 됩니다.(2개 이상 적용하면 더 좋습니다.)
(옆동네에 답변 달아둔건데,,, 조금더 정리해서 올립니다.)
추천2

댓글 전체

전체 30 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

진행중 포인트경매

  1. 참여9 회 시작20.05.27 19:24 종료20.06.01 19:24

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT