테스트 사이트 - 개발 중인 베타 버전입니다

SQL 인젝션 정규식으로 필터하기

· 7년 전 · 6030 · 5

팁자료실엔 글을 처음남기네요

 

이번에 작업맏은 업체가 전 개발자가 연락두절이 되어서 곤란한 와중에

구축언어또한 PHP나 ASP 이런 대중적인 언어가 아니라서

의뢰한 업체도 유지관리가 아예 불가능하다고 판단하여

급하게 그누보드의 도움을 받아 4일만에 뚝딱 개발하게 되며 얻게 된 팁을 드립니다.

 

저도 SQL 인젝션과 같은부분은 그누보드 글작성시 너무 잘 되어있어서

따로 걱정을 하고 있지 않다가. 접수폼 페이지에서 따로 정보입력하여

특정 게시물을 조회하는 기능을 구현와중에 납기 이전에 왠지 불안하여 작업했습니다.

 

아래 소스 보시고 더 좋은 방안이 있으면 좀 알려주세요

감사합니다

 

 

 

#함수 선언부분

 

function filter_sql($str){
     if(preg_match("/[#\&\\+\-%@=\/\\\:;,\.\'\"\^`~\_|\!\/\?\*$#<>()\[\]\{\}]/i", $str,  $match)){                 
         return false;
     }else{
         return true;
     }               
 }

 

 

#처리페이지

$name = $_POST['wr_subject'];

if(!filter_sql($name))
{
 echo "<script>alert ('잘못된 정보입니다.');
 history.go(-1);
 </script>";
 exit;
}

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

아참.. 참고로 이건 글하고 안맞는내용인데.
그누가입을 했다 비번까먹고 또했다 반복 네다섯번하면서 네이버 로그인 연동했는데 ㅜㅜ
변경하려고 정보수정들어가서 비번입력하니 비번이 다르다면서
별명을 못바꾸네요 ㅜㅜ 별명이 챙피하네요 양해바랍니다
우와 감사합니다!
좋아요..잘쓰겠습니다.감사합니다.
이걸 어디에 넣나요

게시글 목록

번호 제목
24149
24140
24133
24125
24119
24109
24105
24101
24093
24089
24077
24074
24071
24070
24067
24056
24050
24046
24043
24040
24037
24036
24035
24034
24021
24017
24005
24002
23990
23980